lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B490ECA.6040108@freemail.hu>
Date:	Sun, 10 Jan 2010 00:18:34 +0100
From:	Németh Márton <nm127@...email.hu>
To:	Greg Kroah-Hartman <gregkh@...e.de>
CC:	devel@...verdev.osuosl.org, LKML <linux-kernel@...r.kernel.org>,
	Julia Lawall <julia@...u.dk>, cocci@...u.dk
Subject: [PATCH 2/3] staging: make USB device id constant

From: Márton Németh <nm127@...email.hu>

The id_table field of the struct usb_device_id is constant in <linux/usb.h>
so it is worth to make the initialization data also constant.

The semantic match that finds this kind of pattern is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
disable decl_init,const_decl_init;
identifier I1, I2, x;
@@
	struct I1 {
	  ...
	  const struct I2 *x;
	  ...
	};
@s@
identifier r.I1, y;
identifier r.x, E;
@@
	struct I1 y = {
	  .x = E,
	};
@c@
identifier r.I2;
identifier s.E;
@@
	const struct I2 E[] = ... ;
@depends on !c@
identifier r.I2;
identifier s.E;
@@
+	const
	struct I2 E[] = ...;
// </smpl>

Signed-off-by: Márton Németh <nm127@...email.hu>
Cc: Julia Lawall <julia@...u.dk>
Cc: cocci@...u.dk
---
diff -u -p a/drivers/staging/serqt_usb2/serqt_usb2.c b/drivers/staging/serqt_usb2/serqt_usb2.c
--- a/drivers/staging/serqt_usb2/serqt_usb2.c 2010-01-07 19:08:46.000000000 +0100
+++ b/drivers/staging/serqt_usb2/serqt_usb2.c 2010-01-08 09:53:37.000000000 +0100
@@ -126,7 +126,7 @@ static int debug;
 #define MODEM_CTRL          0x40
 #define RS232_MODE          0x00

-static struct usb_device_id serqt_id_table[] = {
+static const struct usb_device_id serqt_id_table[] = {
 	{USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_SSU100)},
 	{USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_SSU200)},
 	{USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_DSU100)},
diff -u -p a/drivers/staging/line6/driver.c b/drivers/staging/line6/driver.c
--- a/drivers/staging/line6/driver.c 2010-01-07 19:08:45.000000000 +0100
+++ b/drivers/staging/line6/driver.c 2010-01-08 09:56:21.000000000 +0100
@@ -33,7 +33,7 @@


 /* table of devices that work with this driver */
-static struct usb_device_id line6_id_table[] = {
+static const struct usb_device_id line6_id_table[] = {
 	{ USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_BASSPODXT) },
 	{ USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_BASSPODXTLIVE) },
 	{ USB_DEVICE(LINE6_VENDOR_ID, LINE6_DEVID_BASSPODXTPRO) },
diff -u -p a/drivers/staging/winbond/wbusb.c b/drivers/staging/winbond/wbusb.c
--- a/drivers/staging/winbond/wbusb.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/staging/winbond/wbusb.c 2010-01-08 09:58:45.000000000 +0100
@@ -23,7 +23,7 @@ MODULE_DESCRIPTION("IS89C35 802.11bg WLA
 MODULE_LICENSE("GPL");
 MODULE_VERSION("0.1");

-static struct usb_device_id wb35_table[] __devinitdata = {
+static const struct usb_device_id wb35_table[] __devinitconst = {
 	{ USB_DEVICE(0x0416, 0x0035) },
 	{ USB_DEVICE(0x18E8, 0x6201) },
 	{ USB_DEVICE(0x18E8, 0x6206) },
diff -u -p a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
--- a/drivers/staging/rtl8192su/r8192U_core.c 2010-01-07 19:08:46.000000000 +0100
+++ b/drivers/staging/rtl8192su/r8192U_core.c 2010-01-08 10:01:12.000000000 +0100
@@ -110,7 +110,7 @@ u32 rt_global_debug_component = \
 #define TOTAL_CAM_ENTRY 32
 #define CAM_CONTENT_COUNT 8

-static struct usb_device_id rtl8192_usb_id_tbl[] = {
+static const struct usb_device_id rtl8192_usb_id_tbl[] = {
 	/* Realtek */
 	{USB_DEVICE(0x0bda, 0x8192)},
 	{USB_DEVICE(0x0bda, 0x8709)},
diff -u -p a/drivers/staging/comedi/drivers/dt9812.c b/drivers/staging/comedi/drivers/dt9812.c
--- a/drivers/staging/comedi/drivers/dt9812.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/staging/comedi/drivers/dt9812.c 2010-01-08 10:10:15.000000000 +0100
@@ -264,7 +264,7 @@ struct dt9812_usb_cmd {

 static DECLARE_MUTEX(dt9812_mutex);

-static struct usb_device_id dt9812_table[] = {
+static const struct usb_device_id dt9812_table[] = {
 	{USB_DEVICE(0x0867, 0x9812)},
 	{}			/* Terminating entry */
 };
diff -u -p a/drivers/staging/comedi/drivers/usbduxfast.c b/drivers/staging/comedi/drivers/usbduxfast.c
--- a/drivers/staging/comedi/drivers/usbduxfast.c 2010-01-07 19:08:45.000000000 +0100
+++ b/drivers/staging/comedi/drivers/usbduxfast.c 2010-01-08 10:10:57.000000000 +0100
@@ -1769,7 +1769,7 @@ static struct comedi_driver driver_usbdu
 /*
  * Table with the USB-devices: just now only testing IDs
  */
-static struct usb_device_id usbduxfastsub_table[] = {
+static const struct usb_device_id usbduxfastsub_table[] = {
 	/* { USB_DEVICE(0x4b4, 0x8613) }, testing */
 	{USB_DEVICE(0x13d8, 0x0010)},	/* real ID */
 	{USB_DEVICE(0x13d8, 0x0011)},	/* real ID */
diff -u -p a/drivers/staging/comedi/drivers/usbdux.c b/drivers/staging/comedi/drivers/usbdux.c
--- a/drivers/staging/comedi/drivers/usbdux.c 2010-01-07 19:08:45.000000000 +0100
+++ b/drivers/staging/comedi/drivers/usbdux.c 2010-01-08 10:13:48.000000000 +0100
@@ -2833,7 +2833,7 @@ static struct comedi_driver driver_usbdu
 };

 /* Table with the USB-devices: just now only testing IDs */
-static struct usb_device_id usbduxsub_table[] = {
+static const struct usb_device_id usbduxsub_table[] = {
 	{USB_DEVICE(0x13d8, 0x0001)},
 	{USB_DEVICE(0x13d8, 0x0002)},
 	{}			/* Terminating entry */
diff -u -p a/drivers/staging/comedi/drivers/vmk80xx.c b/drivers/staging/comedi/drivers/vmk80xx.c
--- a/drivers/staging/comedi/drivers/vmk80xx.c 2010-01-07 19:08:45.000000000 +0100
+++ b/drivers/staging/comedi/drivers/vmk80xx.c 2010-01-08 10:14:14.000000000 +0100
@@ -75,7 +75,7 @@ enum {
 	DEVICE_VMK8061
 };

-static struct usb_device_id vmk80xx_id_table[] = {
+static const struct usb_device_id vmk80xx_id_table[] = {
 	{USB_DEVICE(0x10cf, 0x5500), .driver_info = DEVICE_VMK8055},
 	{USB_DEVICE(0x10cf, 0x5501), .driver_info = DEVICE_VMK8055},
 	{USB_DEVICE(0x10cf, 0x5502), .driver_info = DEVICE_VMK8055},
diff -u -p a/drivers/staging/mimio/mimio.c b/drivers/staging/mimio/mimio.c
--- a/drivers/staging/mimio/mimio.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/staging/mimio/mimio.c 2010-01-08 10:33:06.000000000 +0100
@@ -145,7 +145,7 @@ static void mimio_rx_handler(struct mimi
 static int mimio_tx(struct mimio *, const char *, int);

 static char mimio_name[] = "VirtualInk mimio-Xi";
-static struct usb_device_id mimio_table [] = {
+static const struct usb_device_id mimio_table[] = {
 	{ USB_DEVICE(MIMIO_VENDOR_ID, MIMIO_PRODUCT_ID) },
 	{ USB_DEVICE(0x0525, 0xa4a0) }, /* gadget zero firmware */
 	{ }
diff -u -p a/drivers/staging/go7007/go7007-usb.c b/drivers/staging/go7007/go7007-usb.c
--- a/drivers/staging/go7007/go7007-usb.c 2010-01-07 19:08:45.000000000 +0100
+++ b/drivers/staging/go7007/go7007-usb.c 2010-01-08 10:39:47.000000000 +0100
@@ -444,7 +444,7 @@ static struct go7007_usb_board board_sen
 	},
 };

-static struct usb_device_id go7007_usb_id_table[] = {
+static const struct usb_device_id go7007_usb_id_table[] = {
 	{
 		.match_flags	= USB_DEVICE_ID_MATCH_DEVICE_AND_VERSION |
 					USB_DEVICE_ID_MATCH_INT_INFO,
diff -u -p a/drivers/staging/go7007/s2250-loader.c b/drivers/staging/go7007/s2250-loader.c
--- a/drivers/staging/go7007/s2250-loader.c 2010-01-07 19:08:45.000000000 +0100
+++ b/drivers/staging/go7007/s2250-loader.c 2010-01-08 10:42:54.000000000 +0100
@@ -148,7 +148,7 @@ static void s2250loader_disconnect(struc
 	unlock_kernel();
 }

-static struct usb_device_id s2250loader_ids[] = {
+static const struct usb_device_id s2250loader_ids[] = {
 	{USB_DEVICE(0x1943, 0xa250)},
 	{}                          /* Terminating entry */
 };
diff -u -p a/drivers/staging/otus/zdusb.c b/drivers/staging/otus/zdusb.c
--- a/drivers/staging/otus/zdusb.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/staging/otus/zdusb.c 2010-01-08 10:47:44.000000000 +0100
@@ -45,7 +45,7 @@ MODULE_LICENSE("Dual BSD/GPL");
 static const char driver_name[] = "Otus";

 /* table of devices that work with this driver */
-static struct usb_device_id zd1221_ids [] = {
+static const struct usb_device_id zd1221_ids[] = {
 	{ USB_DEVICE(VENDOR_ATHR, PRODUCT_AR9170) },
         { USB_DEVICE(VENDOR_DLINK, PRODUCT_DWA160A) },
 	{ USB_DEVICE(VENDOR_NETGEAR, PRODUCT_WNDA3100) },
diff -u -p a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c
--- a/drivers/staging/rtl8192u/r8192U_core.c 2010-01-07 19:08:46.000000000 +0100
+++ b/drivers/staging/rtl8192u/r8192U_core.c 2010-01-08 10:51:26.000000000 +0100
@@ -104,7 +104,7 @@ u32 rt_global_debug_component = \
 #define TOTAL_CAM_ENTRY 32
 #define CAM_CONTENT_COUNT 8

-static struct usb_device_id rtl8192_usb_id_tbl[] = {
+static const struct usb_device_id rtl8192_usb_id_tbl[] = {
 	/* Realtek */
 	{USB_DEVICE(0x0bda, 0x8192)},
 	{USB_DEVICE(0x0bda, 0x8709)},
diff -u -p a/drivers/staging/udlfb/udlfb.c b/drivers/staging/udlfb/udlfb.c
--- a/drivers/staging/udlfb/udlfb.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/staging/udlfb/udlfb.c 2010-01-08 10:54:45.000000000 +0100
@@ -112,7 +112,7 @@ static struct usb_device_id id_table []
 };
 */

-static struct usb_device_id id_table[] = {
+static const struct usb_device_id id_table[] = {
 	{.idVendor = 0x17e9, .match_flags = USB_DEVICE_ID_MATCH_VENDOR,},
 	{},
 };
diff -u -p a/drivers/staging/quatech_usb2/quatech_usb2.c b/drivers/staging/quatech_usb2/quatech_usb2.c
--- a/drivers/staging/quatech_usb2/quatech_usb2.c 2010-01-07 19:08:45.000000000 +0100
+++ b/drivers/staging/quatech_usb2/quatech_usb2.c 2010-01-08 11:00:33.000000000 +0100
@@ -116,7 +116,7 @@ static int debug;
 #define FOURTHCHAR	((unsigned char *)(urb->transfer_buffer))[i + 3]
 #define FIFTHCHAR	((unsigned char *)(urb->transfer_buffer))[i + 4]

-static struct usb_device_id quausb2_id_table[] = {
+static const struct usb_device_id quausb2_id_table[] = {
 	{USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_SSU2_100)},
 	{USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_DSU2_100)},
 	{USB_DEVICE(USB_VENDOR_ID_QUATECH, QUATECH_DSU2_400)},
diff -u -p a/drivers/staging/frontier/tranzport.c b/drivers/staging/frontier/tranzport.c
--- a/drivers/staging/frontier/tranzport.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/staging/frontier/tranzport.c 2010-01-08 11:03:26.000000000 +0100
@@ -55,7 +55,7 @@
 #endif

 /* table of devices that work with this driver */
-static struct usb_device_id usb_tranzport_table[] = {
+static const struct usb_device_id usb_tranzport_table[] = {
 	{USB_DEVICE(VENDOR_ID, PRODUCT_ID)},
 	{}			/* Terminating entry */
 };
diff -u -p a/drivers/staging/frontier/alphatrack.c b/drivers/staging/frontier/alphatrack.c
--- a/drivers/staging/frontier/alphatrack.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/staging/frontier/alphatrack.c 2010-01-08 11:03:36.000000000 +0100
@@ -58,7 +58,7 @@
 #endif

 /* table of devices that work with this driver */
-static struct usb_device_id usb_alphatrack_table[] = {
+static const struct usb_device_id usb_alphatrack_table[] = {
 	{USB_DEVICE(VENDOR_ID, PRODUCT_ID)},
 	{}			/* Terminating entry */
 };
diff -u -p a/drivers/staging/asus_oled/asus_oled.c b/drivers/staging/asus_oled/asus_oled.c
--- a/drivers/staging/asus_oled/asus_oled.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/staging/asus_oled/asus_oled.c 2010-01-08 11:16:13.000000000 +0100
@@ -83,7 +83,7 @@ struct oled_dev_desc_str {
 };

 /* table of devices that work with this driver */
-static struct usb_device_id id_table[] = {
+static const struct usb_device_id id_table[] = {
 	/* Asus G1/G2 (and variants)*/
 	{ USB_DEVICE(0x0b05, 0x1726) },
 	/* Asus G50V (and possibly others - G70? G71?)*/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ