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

Reply via email to