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>] [day] [month] [year] [list]
Date:	Sun, 10 Jan 2010 15:34:45 +0100
From:	Németh Márton <nm127@...email.hu>
To:	Greg Kroah-Hartman <gregkh@...e.de>
CC:	linux-usb@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
	Julia Lawall <julia@...u.dk>, cocci@...u.dk
Subject: [PATCH 5/9] USB misc: 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/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c
--- a/drivers/usb/misc/ftdi-elan.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/ftdi-elan.c 2010-01-08 17:32:43.000000000 +0100
@@ -86,7 +86,7 @@ static struct list_head ftdi_static_list
 #define USB_FTDI_ELAN_VENDOR_ID 0x0403
 #define USB_FTDI_ELAN_PRODUCT_ID 0xd6ea
 /* table of devices that work with this driver*/
-static struct usb_device_id ftdi_elan_table[] = {
+static const struct usb_device_id ftdi_elan_table[] = {
         {USB_DEVICE(USB_FTDI_ELAN_VENDOR_ID, USB_FTDI_ELAN_PRODUCT_ID)},
         { /* Terminating entry */ }
 };
diff -u -p a/drivers/usb/misc/vstusb.c b/drivers/usb/misc/vstusb.c
--- a/drivers/usb/misc/vstusb.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/vstusb.c 2010-01-08 17:32:52.000000000 +0100
@@ -61,7 +61,7 @@

 #define VST_MAXBUFFER		(64*1024)

-static struct usb_device_id id_table[] = {
+static const struct usb_device_id id_table[] = {
 	{ USB_DEVICE(USB_VENDOR_OCEANOPTICS, USB_PRODUCT_USB2000)},
 	{ USB_DEVICE(USB_VENDOR_OCEANOPTICS, USB_PRODUCT_HR4000)},
 	{ USB_DEVICE(USB_VENDOR_OCEANOPTICS, USB_PRODUCT_USB650)},
diff -u -p a/drivers/usb/misc/appledisplay.c b/drivers/usb/misc/appledisplay.c
--- a/drivers/usb/misc/appledisplay.c 2010-01-07 19:08:47.000000000 +0100
+++ b/drivers/usb/misc/appledisplay.c 2010-01-08 17:32:59.000000000 +0100
@@ -57,7 +57,7 @@
 	.bInterfaceProtocol = 0x00

 /* table of devices that work with this driver */
-static struct usb_device_id appledisplay_table [] = {
+static const struct usb_device_id appledisplay_table[] = {
 	{ APPLEDISPLAY_DEVICE(0x9218) },
 	{ APPLEDISPLAY_DEVICE(0x9219) },
 	{ APPLEDISPLAY_DEVICE(0x921c) },
diff -u -p a/drivers/usb/misc/adutux.c b/drivers/usb/misc/adutux.c
--- a/drivers/usb/misc/adutux.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/adutux.c 2010-01-08 17:33:05.000000000 +0100
@@ -56,7 +56,7 @@ MODULE_PARM_DESC(debug, "Debug enabled o
 #define ADU_PRODUCT_ID 0x0064

 /* table of devices that work with this driver */
-static struct usb_device_id device_table [] = {
+static const struct usb_device_id device_table[] = {
 	{ USB_DEVICE(ADU_VENDOR_ID, ADU_PRODUCT_ID) },		/* ADU100 */
 	{ USB_DEVICE(ADU_VENDOR_ID, ADU_PRODUCT_ID+20) }, 	/* ADU120 */
 	{ USB_DEVICE(ADU_VENDOR_ID, ADU_PRODUCT_ID+30) }, 	/* ADU130 */
diff -u -p a/drivers/usb/misc/cytherm.c b/drivers/usb/misc/cytherm.c
--- a/drivers/usb/misc/cytherm.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/cytherm.c 2010-01-08 17:33:11.000000000 +0100
@@ -27,7 +27,7 @@
 #define USB_SKEL_VENDOR_ID	0x04b4
 #define USB_SKEL_PRODUCT_ID	0x0002

-static struct usb_device_id id_table [] = {
+static const struct usb_device_id id_table[] = {
 	{ USB_DEVICE(USB_SKEL_VENDOR_ID, USB_SKEL_PRODUCT_ID) },
 	{ }
 };
diff -u -p a/drivers/usb/misc/iowarrior.c b/drivers/usb/misc/iowarrior.c
--- a/drivers/usb/misc/iowarrior.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/iowarrior.c 2010-01-08 17:33:26.000000000 +0100
@@ -139,7 +139,7 @@ static int usb_set_report(struct usb_int
 /* driver registration */
 /*---------------------*/
 /* table of devices that work with this driver */
-static struct usb_device_id iowarrior_ids[] = {
+static const struct usb_device_id iowarrior_ids[] = {
 	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW40)},
 	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW24)},
 	{USB_DEVICE(USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOWPV1)},
diff -u -p a/drivers/usb/misc/idmouse.c b/drivers/usb/misc/idmouse.c
--- a/drivers/usb/misc/idmouse.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/idmouse.c 2010-01-08 17:33:32.000000000 +0100
@@ -48,7 +48,7 @@
 #define ID_CHERRY  0x0010

 /* device ID table */
-static struct usb_device_id idmouse_table[] = {
+static const struct usb_device_id idmouse_table[] = {
 	{USB_DEVICE(ID_SIEMENS, ID_IDMOUSE)}, /* Siemens ID Mouse (Professional) */
 	{USB_DEVICE(ID_SIEMENS, ID_CHERRY )}, /* Cherry FingerTIP ID Board       */
 	{}                                    /* terminating null entry          */
diff -u -p a/drivers/usb/misc/emi62.c b/drivers/usb/misc/emi62.c
--- a/drivers/usb/misc/emi62.c 2010-01-07 19:08:47.000000000 +0100
+++ b/drivers/usb/misc/emi62.c 2010-01-08 17:33:38.000000000 +0100
@@ -259,7 +259,7 @@ wraperr:
 	return err;
 }

-static __devinitdata struct usb_device_id id_table [] = {
+static const struct usb_device_id id_table[] __devinitconst = {
 	{ USB_DEVICE(EMI62_VENDOR_ID, EMI62_PRODUCT_ID) },
 	{ }                                             /* Terminating entry */
 };
diff -u -p a/drivers/usb/misc/legousbtower.c b/drivers/usb/misc/legousbtower.c
--- a/drivers/usb/misc/legousbtower.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/legousbtower.c 2010-01-08 17:33:44.000000000 +0100
@@ -192,7 +192,7 @@ struct tower_get_version_reply {


 /* table of devices that work with this driver */
-static struct usb_device_id tower_table [] = {
+static const struct usb_device_id tower_table[] = {
 	{ USB_DEVICE(LEGO_USB_TOWER_VENDOR_ID, LEGO_USB_TOWER_PRODUCT_ID) },
 	{ }					/* Terminating entry */
 };
diff -u -p a/drivers/usb/misc/trancevibrator.c b/drivers/usb/misc/trancevibrator.c
--- a/drivers/usb/misc/trancevibrator.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/trancevibrator.c 2010-01-08 17:33:50.000000000 +0100
@@ -33,7 +33,7 @@
 #define TRANCEVIBRATOR_VENDOR_ID	0x0b49	/* ASCII Corporation */
 #define TRANCEVIBRATOR_PRODUCT_ID	0x064f	/* Trance Vibrator */

-static struct usb_device_id id_table [] = {
+static const struct usb_device_id id_table[] = {
 	{ USB_DEVICE(TRANCEVIBRATOR_VENDOR_ID, TRANCEVIBRATOR_PRODUCT_ID) },
 	{ },
 };
diff -u -p a/drivers/usb/misc/rio500.c b/drivers/usb/misc/rio500.c
--- a/drivers/usb/misc/rio500.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/rio500.c 2010-01-08 17:34:08.000000000 +0100
@@ -510,7 +510,7 @@ static void disconnect_rio(struct usb_in
 	}
 }

-static struct usb_device_id rio_table [] = {
+static const struct usb_device_id rio_table[] = {
 	{ USB_DEVICE(0x0841, 1) }, 		/* Rio 500 */
 	{ }					/* Terminating entry */
 };
diff -u -p a/drivers/usb/misc/usblcd.c b/drivers/usb/misc/usblcd.c
--- a/drivers/usb/misc/usblcd.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/usblcd.c 2010-01-08 17:34:14.000000000 +0100
@@ -30,7 +30,7 @@
 #define IOCTL_GET_DRV_VERSION	2


-static struct usb_device_id id_table [] = {
+static const struct usb_device_id id_table[] = {
 	{ .idVendor = 0x10D2, .match_flags = USB_DEVICE_ID_MATCH_VENDOR, },
 	{ },
 };
diff -u -p a/drivers/usb/misc/isight_firmware.c b/drivers/usb/misc/isight_firmware.c
--- a/drivers/usb/misc/isight_firmware.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/isight_firmware.c 2010-01-08 17:34:17.000000000 +0100
@@ -26,7 +26,7 @@
 #include <linux/errno.h>
 #include <linux/module.h>

-static struct usb_device_id id_table[] = {
+static const struct usb_device_id id_table[] = {
 	{USB_DEVICE(0x05ac, 0x8300)},
 	{},
 };
diff -u -p a/drivers/usb/misc/emi26.c b/drivers/usb/misc/emi26.c
--- a/drivers/usb/misc/emi26.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/emi26.c 2010-01-08 17:34:22.000000000 +0100
@@ -245,7 +245,7 @@ wraperr:
 	return err;
 }

-static struct usb_device_id id_table [] = {
+static const struct usb_device_id id_table[] = {
 	{ USB_DEVICE(EMI26_VENDOR_ID, EMI26_PRODUCT_ID) },
 	{ USB_DEVICE(EMI26_VENDOR_ID, EMI26B_PRODUCT_ID) },
 	{ }                                             /* Terminating entry */
diff -u -p a/drivers/usb/misc/usbled.c b/drivers/usb/misc/usbled.c
--- a/drivers/usb/misc/usbled.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/usbled.c 2010-01-08 17:34:27.000000000 +0100
@@ -24,7 +24,7 @@
 #define PRODUCT_ID	0x1223

 /* table of devices that work with this driver */
-static struct usb_device_id id_table [] = {
+static const struct usb_device_id id_table[] = {
 	{ USB_DEVICE(VENDOR_ID, PRODUCT_ID) },
 	{ },
 };
diff -u -p a/drivers/usb/misc/ldusb.c b/drivers/usb/misc/ldusb.c
--- a/drivers/usb/misc/ldusb.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/ldusb.c 2010-01-08 17:34:37.000000000 +0100
@@ -69,7 +69,7 @@
 #endif

 /* table of devices that work with this driver */
-static struct usb_device_id ld_usb_table [] = {
+static const struct usb_device_id ld_usb_table[] = {
 	{ USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_CASSY) },
 	{ USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_POCKETCASSY) },
 	{ USB_DEVICE(USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_MOBILECASSY) },
diff -u -p a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c
--- a/drivers/usb/misc/usbtest.c 2010-01-07 19:08:47.000000000 +0100
+++ b/drivers/usb/misc/usbtest.c 2010-01-08 17:34:48.000000000 +0100
@@ -2101,7 +2101,7 @@ static struct usbtest_info generic_info
 #endif


-static struct usb_device_id id_table [] = {
+static const struct usb_device_id id_table[] = {

 	/*-------------------------------------------------------------*/

diff -u -p a/drivers/usb/misc/cypress_cy7c63.c b/drivers/usb/misc/cypress_cy7c63.c
--- a/drivers/usb/misc/cypress_cy7c63.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/cypress_cy7c63.c 2010-01-08 17:34:55.000000000 +0100
@@ -56,7 +56,7 @@


 /* table of devices that work with this driver */
-static struct usb_device_id cypress_table [] = {
+static const struct usb_device_id cypress_table[] = {
 	{ USB_DEVICE(CYPRESS_VENDOR_ID, CYPRESS_PRODUCT_ID) },
 	{ }
 };
diff -u -p a/drivers/usb/misc/usbsevseg.c b/drivers/usb/misc/usbsevseg.c
--- a/drivers/usb/misc/usbsevseg.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/usbsevseg.c 2010-01-08 17:35:01.000000000 +0100
@@ -27,7 +27,7 @@
 #define MAXLEN		6

 /* table of devices that work with this driver */
-static struct usb_device_id id_table[] = {
+static const struct usb_device_id id_table[] = {
 	{ USB_DEVICE(VENDOR_ID, PRODUCT_ID) },
 	{ },
 };
diff -u -p a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c
--- a/drivers/usb/misc/sisusbvga/sisusb.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/sisusbvga/sisusb.c 2010-01-08 17:35:15.000000000 +0100
@@ -3238,7 +3238,7 @@ static void sisusb_disconnect(struct usb
 	kref_put(&sisusb->kref, sisusb_delete);
 }

-static struct usb_device_id sisusb_table [] = {
+static const struct usb_device_id sisusb_table[] = {
 	{ USB_DEVICE(0x0711, 0x0550) },
 	{ USB_DEVICE(0x0711, 0x0900) },
 	{ USB_DEVICE(0x0711, 0x0901) },
diff -u -p a/drivers/usb/misc/uss720.c b/drivers/usb/misc/uss720.c
--- a/drivers/usb/misc/uss720.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/uss720.c 2010-01-08 17:36:03.000000000 +0100
@@ -770,7 +770,7 @@ static void uss720_disconnect(struct usb
 }

 /* table of cables that work through this driver */
-static struct usb_device_id uss720_table [] = {
+static const struct usb_device_id uss720_table[] = {
 	{ USB_DEVICE(0x047e, 0x1001) },
 	{ USB_DEVICE(0x0557, 0x2001) },
 	{ USB_DEVICE(0x0729, 0x1284) },
diff -u -p a/drivers/usb/misc/berry_charge.c b/drivers/usb/misc/berry_charge.c
--- a/drivers/usb/misc/berry_charge.c 2009-12-03 04:51:21.000000000 +0100
+++ b/drivers/usb/misc/berry_charge.c 2010-01-08 17:36:09.000000000 +0100
@@ -39,7 +39,7 @@ static int pearl_dual_mode = 1;
 	if (debug)						\
 		dev_printk(KERN_DEBUG , dev , format , ## arg)

-static struct usb_device_id id_table [] = {
+static const struct usb_device_id id_table[] = {
 	{ USB_DEVICE(RIM_VENDOR, BLACKBERRY) },
 	{ USB_DEVICE(RIM_VENDOR, BLACKBERRY_PEARL) },
 	{ USB_DEVICE(RIM_VENDOR, BLACKBERRY_PEARL_DUAL) },
--
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