commit: 1f3bf0fa8962be00664083ddf6088ef409932c04
Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 16 12:01:09 2014 +0000
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Wed Jul 16 12:01:09 2014 +0000
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-patchset.git;a=commit;h=1f3bf0fa
Grsec/PaX: 3.0-{3.2.60,3.14.12,3.15.5}-201407151839
---
3.14.12/0000_README | 2 +-
...4420_grsecurity-3.0-3.14.12-201407151838.patch} | 73 ++++++++++++++++++++++
3.15.5/0000_README | 2 +-
... 4420_grsecurity-3.0-3.15.5-201407151839.patch} | 73 ++++++++++++++++++++++
3.2.61/0000_README | 2 +-
... 4420_grsecurity-3.0-3.2.61-201407151835.patch} | 73 ++++++++++++++++++++++
6 files changed, 222 insertions(+), 3 deletions(-)
diff --git a/3.14.12/0000_README b/3.14.12/0000_README
index f32e676..6360d1d 100644
--- a/3.14.12/0000_README
+++ b/3.14.12/0000_README
@@ -2,7 +2,7 @@ README
-----------------------------------------------------------------------------
Individual Patch Descriptions:
-----------------------------------------------------------------------------
-Patch: 4420_grsecurity-3.0-3.14.12-201407142243.patch
+Patch: 4420_grsecurity-3.0-3.14.12-201407151838.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/3.14.12/4420_grsecurity-3.0-3.14.12-201407142243.patch
b/3.14.12/4420_grsecurity-3.0-3.14.12-201407151838.patch
similarity index 99%
rename from 3.14.12/4420_grsecurity-3.0-3.14.12-201407142243.patch
rename to 3.14.12/4420_grsecurity-3.0-3.14.12-201407151838.patch
index bf2b106..a8bccce 100644
--- a/3.14.12/4420_grsecurity-3.0-3.14.12-201407142243.patch
+++ b/3.14.12/4420_grsecurity-3.0-3.14.12-201407151838.patch
@@ -45265,6 +45265,79 @@ index a1c641e..3007da9 100644
static int dib7070_set_param_override(struct dvb_frontend *fe)
{
+diff --git a/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
b/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
+index 733a7ff..f8b52e3 100644
+--- a/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
++++ b/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
+@@ -35,42 +35,57 @@ static int usb_cypress_writemem(struct usb_device
*udev,u16 addr,u8 *data, u8 le
+
+ int usb_cypress_load_firmware(struct usb_device *udev, const struct firmware
*fw, int type)
+ {
+- struct hexline hx;
+- u8 reset;
++ struct hexline *hx;
++ u8 *reset;
+ int ret,pos=0;
+
++ reset = kmalloc(1, GFP_KERNEL);
++ if (reset == NULL)
++ return -ENOMEM;
++
++ hx = kmalloc(sizeof(struct hexline), GFP_KERNEL);
++ if (hx == NULL) {
++ kfree(reset);
++ return -ENOMEM;
++ }
++
+ /* stop the CPU */
+- reset = 1;
+- if ((ret =
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,&reset,1)) != 1)
++ reset[0] = 1;
++ if ((ret =
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,reset,1)) != 1)
+ err("could not stop the USB controller CPU.");
+
+- while ((ret = dvb_usb_get_hexline(fw,&hx,&pos)) > 0) {
+- deb_fw("writing to address 0x%04x (buffer: 0x%02x
%02x)\n",hx.addr,hx.len,hx.chk);
+- ret = usb_cypress_writemem(udev,hx.addr,hx.data,hx.len);
++ while ((ret = dvb_usb_get_hexline(fw,hx,&pos)) > 0) {
++ deb_fw("writing to address 0x%04x (buffer: 0x%02x
%02x)\n",hx->addr,hx->len,hx->chk);
++ ret = usb_cypress_writemem(udev,hx->addr,hx->data,hx->len);
+
+- if (ret != hx.len) {
++ if (ret != hx->len) {
+ err("error while transferring firmware "
+ "(transferred size: %d, block size: %d)",
+- ret,hx.len);
++ ret,hx->len);
+ ret = -EINVAL;
+ break;
+ }
+ }
+ if (ret < 0) {
+ err("firmware download failed at %d with %d",pos,ret);
++ kfree(reset);
++ kfree(hx);
+ return ret;
+ }
+
+ if (ret == 0) {
+ /* restart the CPU */
+- reset = 0;
+- if (ret ||
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,&reset,1) != 1) {
++ reset[0] = 0;
++ if (ret ||
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,reset,1) != 1) {
+ err("could not restart the USB controller CPU.");
+ ret = -EINVAL;
+ }
+ } else
+ ret = -EIO;
+
++ kfree(reset);
++ kfree(hx);
++
+ return ret;
+ }
+ EXPORT_SYMBOL(usb_cypress_load_firmware);
diff --git a/drivers/media/usb/dvb-usb/dw2102.c
b/drivers/media/usb/dvb-usb/dw2102.c
index ae0f56a..ec71784 100644
--- a/drivers/media/usb/dvb-usb/dw2102.c
diff --git a/3.15.5/0000_README b/3.15.5/0000_README
index 9e0b7a5..6d4dc1c 100644
--- a/3.15.5/0000_README
+++ b/3.15.5/0000_README
@@ -2,7 +2,7 @@ README
-----------------------------------------------------------------------------
Individual Patch Descriptions:
-----------------------------------------------------------------------------
-Patch: 4420_grsecurity-3.0-3.15.5-201407142248.patch
+Patch: 4420_grsecurity-3.0-3.15.5-201407151839.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/3.15.5/4420_grsecurity-3.0-3.15.5-201407142248.patch
b/3.15.5/4420_grsecurity-3.0-3.15.5-201407151839.patch
similarity index 99%
rename from 3.15.5/4420_grsecurity-3.0-3.15.5-201407142248.patch
rename to 3.15.5/4420_grsecurity-3.0-3.15.5-201407151839.patch
index 7c383ca..eb81858 100644
--- a/3.15.5/4420_grsecurity-3.0-3.15.5-201407142248.patch
+++ b/3.15.5/4420_grsecurity-3.0-3.15.5-201407151839.patch
@@ -44606,6 +44606,79 @@ index a1c641e..3007da9 100644
static int dib7070_set_param_override(struct dvb_frontend *fe)
{
+diff --git a/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
b/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
+index 733a7ff..f8b52e3 100644
+--- a/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
++++ b/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
+@@ -35,42 +35,57 @@ static int usb_cypress_writemem(struct usb_device
*udev,u16 addr,u8 *data, u8 le
+
+ int usb_cypress_load_firmware(struct usb_device *udev, const struct firmware
*fw, int type)
+ {
+- struct hexline hx;
+- u8 reset;
++ struct hexline *hx;
++ u8 *reset;
+ int ret,pos=0;
+
++ reset = kmalloc(1, GFP_KERNEL);
++ if (reset == NULL)
++ return -ENOMEM;
++
++ hx = kmalloc(sizeof(struct hexline), GFP_KERNEL);
++ if (hx == NULL) {
++ kfree(reset);
++ return -ENOMEM;
++ }
++
+ /* stop the CPU */
+- reset = 1;
+- if ((ret =
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,&reset,1)) != 1)
++ reset[0] = 1;
++ if ((ret =
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,reset,1)) != 1)
+ err("could not stop the USB controller CPU.");
+
+- while ((ret = dvb_usb_get_hexline(fw,&hx,&pos)) > 0) {
+- deb_fw("writing to address 0x%04x (buffer: 0x%02x
%02x)\n",hx.addr,hx.len,hx.chk);
+- ret = usb_cypress_writemem(udev,hx.addr,hx.data,hx.len);
++ while ((ret = dvb_usb_get_hexline(fw,hx,&pos)) > 0) {
++ deb_fw("writing to address 0x%04x (buffer: 0x%02x
%02x)\n",hx->addr,hx->len,hx->chk);
++ ret = usb_cypress_writemem(udev,hx->addr,hx->data,hx->len);
+
+- if (ret != hx.len) {
++ if (ret != hx->len) {
+ err("error while transferring firmware "
+ "(transferred size: %d, block size: %d)",
+- ret,hx.len);
++ ret,hx->len);
+ ret = -EINVAL;
+ break;
+ }
+ }
+ if (ret < 0) {
+ err("firmware download failed at %d with %d",pos,ret);
++ kfree(reset);
++ kfree(hx);
+ return ret;
+ }
+
+ if (ret == 0) {
+ /* restart the CPU */
+- reset = 0;
+- if (ret ||
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,&reset,1) != 1) {
++ reset[0] = 0;
++ if (ret ||
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,reset,1) != 1) {
+ err("could not restart the USB controller CPU.");
+ ret = -EINVAL;
+ }
+ } else
+ ret = -EIO;
+
++ kfree(reset);
++ kfree(hx);
++
+ return ret;
+ }
+ EXPORT_SYMBOL(usb_cypress_load_firmware);
diff --git a/drivers/media/usb/dvb-usb/dw2102.c
b/drivers/media/usb/dvb-usb/dw2102.c
index ae0f56a..ec71784 100644
--- a/drivers/media/usb/dvb-usb/dw2102.c
diff --git a/3.2.61/0000_README b/3.2.61/0000_README
index cf7c1aa..7e2949e 100644
--- a/3.2.61/0000_README
+++ b/3.2.61/0000_README
@@ -162,7 +162,7 @@ Patch: 1060_linux-3.2.61.patch
From: http://www.kernel.org
Desc: Linux 3.2.61
-Patch: 4420_grsecurity-3.0-3.2.61-201407132023.patch
+Patch: 4420_grsecurity-3.0-3.2.61-201407151835.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/3.2.61/4420_grsecurity-3.0-3.2.61-201407132023.patch
b/3.2.61/4420_grsecurity-3.0-3.2.61-201407151835.patch
similarity index 99%
rename from 3.2.61/4420_grsecurity-3.0-3.2.61-201407132023.patch
rename to 3.2.61/4420_grsecurity-3.0-3.2.61-201407151835.patch
index 936d3f8..6bea5d8 100644
--- a/3.2.61/4420_grsecurity-3.0-3.2.61-201407132023.patch
+++ b/3.2.61/4420_grsecurity-3.0-3.2.61-201407151835.patch
@@ -42285,6 +42285,79 @@ index 9f2a02c..5920f88 100644
static int dib7070_set_param_override(struct dvb_frontend *fe,
struct dvb_frontend_parameters *fep)
+diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
b/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
+index 733a7ff..f8b52e3 100644
+--- a/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
++++ b/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
+@@ -35,42 +35,57 @@ static int usb_cypress_writemem(struct usb_device
*udev,u16 addr,u8 *data, u8 le
+
+ int usb_cypress_load_firmware(struct usb_device *udev, const struct firmware
*fw, int type)
+ {
+- struct hexline hx;
+- u8 reset;
++ struct hexline *hx;
++ u8 *reset;
+ int ret,pos=0;
+
++ reset = kmalloc(1, GFP_KERNEL);
++ if (reset == NULL)
++ return -ENOMEM;
++
++ hx = kmalloc(sizeof(struct hexline), GFP_KERNEL);
++ if (hx == NULL) {
++ kfree(reset);
++ return -ENOMEM;
++ }
++
+ /* stop the CPU */
+- reset = 1;
+- if ((ret =
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,&reset,1)) != 1)
++ reset[0] = 1;
++ if ((ret =
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,reset,1)) != 1)
+ err("could not stop the USB controller CPU.");
+
+- while ((ret = dvb_usb_get_hexline(fw,&hx,&pos)) > 0) {
+- deb_fw("writing to address 0x%04x (buffer: 0x%02x
%02x)\n",hx.addr,hx.len,hx.chk);
+- ret = usb_cypress_writemem(udev,hx.addr,hx.data,hx.len);
++ while ((ret = dvb_usb_get_hexline(fw,hx,&pos)) > 0) {
++ deb_fw("writing to address 0x%04x (buffer: 0x%02x
%02x)\n",hx->addr,hx->len,hx->chk);
++ ret = usb_cypress_writemem(udev,hx->addr,hx->data,hx->len);
+
+- if (ret != hx.len) {
++ if (ret != hx->len) {
+ err("error while transferring firmware "
+ "(transferred size: %d, block size: %d)",
+- ret,hx.len);
++ ret,hx->len);
+ ret = -EINVAL;
+ break;
+ }
+ }
+ if (ret < 0) {
+ err("firmware download failed at %d with %d",pos,ret);
++ kfree(reset);
++ kfree(hx);
+ return ret;
+ }
+
+ if (ret == 0) {
+ /* restart the CPU */
+- reset = 0;
+- if (ret ||
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,&reset,1) != 1) {
++ reset[0] = 0;
++ if (ret ||
usb_cypress_writemem(udev,cypress[type].cpu_cs_register,reset,1) != 1) {
+ err("could not restart the USB controller CPU.");
+ ret = -EINVAL;
+ }
+ } else
+ ret = -EIO;
+
++ kfree(reset);
++ kfree(hx);
++
+ return ret;
+ }
+ EXPORT_SYMBOL(usb_cypress_load_firmware);
diff --git a/drivers/media/dvb/dvb-usb/dw2102.c
b/drivers/media/dvb/dvb-usb/dw2102.c
index f103ec1..5e8968b 100644
--- a/drivers/media/dvb/dvb-usb/dw2102.c