From: Greg Kroah-Hartman Date: Fri, 31 Aug 2012 21:38:22 +0000 (-0700) Subject: 3.0-stable patches X-Git-Tag: v3.5.4~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d6646ccb2ab9f8e5a50bff50aded41ad1b2ad7e0;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: usb-cdc-acm-fix-null-pointer-dereference.patch usb-p54usb-remove-__devinit-from-the-struct-usb_device_id-table.patch usb-rtl8187-remove-__devinit-from-the-struct-usb_device_id-table.patch usb-smsusb-remove-__devinit-from-the-struct-usb_device_id-table.patch usb-spca506-remove-__devinit-from-the-struct.patch --- diff --git a/queue-3.0/series b/queue-3.0/series index 9ff64c89ab2..332f3a627ba 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -25,3 +25,8 @@ acpi-export-symbol-acpi_get_table_with_size.patch ath9k-fix-decrypt_error-initialization-in-ath_rx_tasklet.patch pci-ehci-fix-crash-during-hibernation-on-asus-computers.patch block-replace-__getblk_slow-misfix-by-grow_dev_page-fix.patch +usb-spca506-remove-__devinit-from-the-struct.patch +usb-p54usb-remove-__devinit-from-the-struct-usb_device_id-table.patch +usb-rtl8187-remove-__devinit-from-the-struct-usb_device_id-table.patch +usb-smsusb-remove-__devinit-from-the-struct-usb_device_id-table.patch +usb-cdc-acm-fix-null-pointer-dereference.patch diff --git a/queue-3.0/usb-cdc-acm-fix-null-pointer-dereference.patch b/queue-3.0/usb-cdc-acm-fix-null-pointer-dereference.patch new file mode 100644 index 00000000000..32d3030356a --- /dev/null +++ b/queue-3.0/usb-cdc-acm-fix-null-pointer-dereference.patch @@ -0,0 +1,34 @@ +From 99f347caa4568cb803862730b3b1f1942639523f Mon Sep 17 00:00:00 2001 +From: Sven Schnelle +Date: Fri, 17 Aug 2012 21:43:43 +0200 +Subject: USB: CDC ACM: Fix NULL pointer dereference + +From: Sven Schnelle + +commit 99f347caa4568cb803862730b3b1f1942639523f upstream. + +If a device specifies zero endpoints in its interface descriptor, +the kernel oopses in acm_probe(). Even though that's clearly an +invalid descriptor, we should test wether we have all endpoints. +This is especially bad as this oops can be triggered by just +plugging a USB device in. + +Signed-off-by: Sven Schnelle +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/class/cdc-acm.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/usb/class/cdc-acm.c ++++ b/drivers/usb/class/cdc-acm.c +@@ -1043,7 +1043,8 @@ skip_normal_probe: + } + + +- if (data_interface->cur_altsetting->desc.bNumEndpoints < 2) ++ if (data_interface->cur_altsetting->desc.bNumEndpoints < 2 || ++ control_interface->cur_altsetting->desc.bNumEndpoints == 0) + return -EINVAL; + + epctrl = &control_interface->cur_altsetting->endpoint[0].desc; diff --git a/queue-3.0/usb-p54usb-remove-__devinit-from-the-struct-usb_device_id-table.patch b/queue-3.0/usb-p54usb-remove-__devinit-from-the-struct-usb_device_id-table.patch new file mode 100644 index 00000000000..464a80d4d78 --- /dev/null +++ b/queue-3.0/usb-p54usb-remove-__devinit-from-the-struct-usb_device_id-table.patch @@ -0,0 +1,36 @@ +From b9c4167cbbafddac3462134013bc15e63e4c53ef Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Fri, 17 Aug 2012 17:48:28 -0700 +Subject: USB: p54usb: remove __devinit* from the struct usb_device_id table + +From: Greg Kroah-Hartman + +commit b9c4167cbbafddac3462134013bc15e63e4c53ef upstream. + +This structure needs to always stick around, even if CONFIG_HOTPLUG +is disabled, otherwise we can oops when trying to probe a device that +was added after the structure is thrown away. + +Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. + +Reported-by: Fengguang Wu +Reported-by: Bjørn Mork +CC: Christian Lamparter +CC: "John W. Linville" +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/p54/p54usb.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/wireless/p54/p54usb.c ++++ b/drivers/net/wireless/p54/p54usb.c +@@ -41,7 +41,7 @@ MODULE_FIRMWARE("isl3887usb"); + * whenever you add a new device. + */ + +-static struct usb_device_id p54u_table[] __devinitdata = { ++static struct usb_device_id p54u_table[] = { + /* Version 1 devices (pci chip + net2280) */ + {USB_DEVICE(0x0411, 0x0050)}, /* Buffalo WLI2-USB2-G54 */ + {USB_DEVICE(0x045e, 0x00c2)}, /* Microsoft MN-710 */ diff --git a/queue-3.0/usb-rtl8187-remove-__devinit-from-the-struct-usb_device_id-table.patch b/queue-3.0/usb-rtl8187-remove-__devinit-from-the-struct-usb_device_id-table.patch new file mode 100644 index 00000000000..4c670ab93e5 --- /dev/null +++ b/queue-3.0/usb-rtl8187-remove-__devinit-from-the-struct-usb_device_id-table.patch @@ -0,0 +1,38 @@ +From a3433179d0822ccfa8e80aa4d1d52843bd2dcc63 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Fri, 17 Aug 2012 17:48:29 -0700 +Subject: USB: rtl8187: remove __devinit* from the struct usb_device_id table + +From: Greg Kroah-Hartman + +commit a3433179d0822ccfa8e80aa4d1d52843bd2dcc63 upstream. + +This structure needs to always stick around, even if CONFIG_HOTPLUG +is disabled, otherwise we can oops when trying to probe a device that +was added after the structure is thrown away. + +Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. + +Reported-by: Fengguang Wu +Reported-by: Bjørn Mork +CC: Herton Ronaldo Krzesinski +CC: Hin-Tak Leung +CC: Larry Finger +CC: "John W. Linville" +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/wireless/rtl818x/rtl8187/dev.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/wireless/rtl818x/rtl8187/dev.c ++++ b/drivers/net/wireless/rtl818x/rtl8187/dev.c +@@ -43,7 +43,7 @@ MODULE_AUTHOR("Larry Finger +Date: Fri, 17 Aug 2012 17:48:26 -0700 +Subject: USB: smsusb: remove __devinit* from the struct usb_device_id table + +From: Greg Kroah-Hartman + +commit d04dbd1c0ec17a13326c8f2279399c225836a79f upstream. + +This structure needs to always stick around, even if CONFIG_HOTPLUG +is disabled, otherwise we can oops when trying to probe a device that +was added after the structure is thrown away. + +Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. + +Reported-by: Fengguang Wu +Reported-by: Bjørn Mork +CC: Mauro Carvalho Chehab +CC: Michael Krufky +CC: Paul Gortmaker +CC: Doron Cohen +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/media/dvb/siano/smsusb.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/media/dvb/siano/smsusb.c ++++ b/drivers/media/dvb/siano/smsusb.c +@@ -480,7 +480,7 @@ static int smsusb_resume(struct usb_inte + return 0; + } + +-static const struct usb_device_id smsusb_id_table[] __devinitconst = { ++static const struct usb_device_id smsusb_id_table[] = { + { USB_DEVICE(0x187f, 0x0010), + .driver_info = SMS1XXX_BOARD_SIANO_STELLAR }, + { USB_DEVICE(0x187f, 0x0100), diff --git a/queue-3.0/usb-spca506-remove-__devinit-from-the-struct.patch b/queue-3.0/usb-spca506-remove-__devinit-from-the-struct.patch new file mode 100644 index 00000000000..cf60a9e70d8 --- /dev/null +++ b/queue-3.0/usb-spca506-remove-__devinit-from-the-struct.patch @@ -0,0 +1,36 @@ +From e694d518886c7afedcdd1732477832b2e32744e4 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Fri, 17 Aug 2012 17:48:27 -0700 +Subject: USB: spca506: remove __devinit* from the struct usb_device_id table + +From: Greg Kroah-Hartman + +commit e694d518886c7afedcdd1732477832b2e32744e4 upstream. + +This structure needs to always stick around, even if CONFIG_HOTPLUG +is disabled, otherwise we can oops when trying to probe a device that +was added after the structure is thrown away. + +Thanks to Fengguang Wu and Bjørn Mork for tracking this issue down. + +Reported-by: Fengguang Wu +Reported-by: Bjørn Mork +CC: Hans de Goede +CC: Mauro Carvalho Chehab +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/media/video/gspca/spca506.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/media/video/gspca/spca506.c ++++ b/drivers/media/video/gspca/spca506.c +@@ -685,7 +685,7 @@ static const struct sd_desc sd_desc = { + }; + + /* -- module initialisation -- */ +-static const struct usb_device_id device_table[] __devinitconst = { ++static const struct usb_device_id device_table[] = { + {USB_DEVICE(0x06e1, 0xa190)}, + /*fixme: may be IntelPCCameraPro BRIDGE_SPCA505 + {USB_DEVICE(0x0733, 0x0430)}, */