]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
usb-storage: Constify struct usb_device_id and us_unusual_dev
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 24 Aug 2024 13:47:07 +0000 (15:47 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 3 Sep 2024 07:49:40 +0000 (09:49 +0200)
'struct usb_device_id' and 'struct us_unusual_dev' are not modified in
these drivers.

Constifying these structures moves some data to a read-only section, so
increase overall security, especially when the structure holds some
function pointers (which is the case for struct us_unusual_dev).

On a x86_64, with allmodconfig, as an example:
Before:
======
   text    data     bss     dec     hex filename
  25249    4261     896   30406    76c6 drivers/usb/storage/alauda.o
   3969     672     360    5001    1389 drivers/usb/storage/cypress_atacb.o

After:
=====
   text    data     bss     dec     hex filename
  25461    4041     896   30398    76be drivers/usb/storage/alauda.o
   4225     400     360    4985    1379 drivers/usb/storage/cypress_atacb.o

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/b1b75a2a64b1f6cfad2a611f71393f281178fd3f.1724507157.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
13 files changed:
drivers/usb/storage/alauda.c
drivers/usb/storage/cypress_atacb.c
drivers/usb/storage/datafab.c
drivers/usb/storage/ene_ub6250.c
drivers/usb/storage/freecom.c
drivers/usb/storage/isd200.c
drivers/usb/storage/jumpshot.c
drivers/usb/storage/karma.c
drivers/usb/storage/onetouch.c
drivers/usb/storage/sddr09.c
drivers/usb/storage/sddr55.c
drivers/usb/storage/shuttle_usbat.c
drivers/usb/storage/uas.c

index 40d34cc28344a447c251c103c5979802cac8dd51..a9d3c58ce7d935da0e026e9c036e6580e95cade2 100644 (file)
@@ -132,7 +132,7 @@ static int init_alauda(struct us_data *us);
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
   .driver_info = (flags) }
 
-static struct usb_device_id alauda_usb_ids[] = {
+static const struct usb_device_id alauda_usb_ids[] = {
 #      include "unusual_alauda.h"
        { }             /* Terminating entry */
 };
@@ -154,7 +154,7 @@ MODULE_DEVICE_TABLE(usb, alauda_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev alauda_unusual_dev_list[] = {
+static const struct us_unusual_dev alauda_unusual_dev_list[] = {
 #      include "unusual_alauda.h"
        { }             /* Terminating entry */
 };
index 98b3ec352a1386e9e05407cb73dc5cf814b36332..30dfd0082474c36fe54483778b07c5b4857b798e 100644 (file)
@@ -33,7 +33,7 @@ MODULE_IMPORT_NS(USB_STORAGE);
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
   .driver_info = (flags) }
 
-static struct usb_device_id cypress_usb_ids[] = {
+static const struct usb_device_id cypress_usb_ids[] = {
 #      include "unusual_cypress.h"
        { }             /* Terminating entry */
 };
@@ -55,7 +55,7 @@ MODULE_DEVICE_TABLE(usb, cypress_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev cypress_unusual_dev_list[] = {
+static const struct us_unusual_dev cypress_unusual_dev_list[] = {
 #      include "unusual_cypress.h"
        { }             /* Terminating entry */
 };
index bcc4a2fad863be881d940926983fa626174e7c99..3ea5601d16b8b78dbe82aadb0dc759b010d3627f 100644 (file)
@@ -80,7 +80,7 @@ static int datafab_determine_lun(struct us_data *us,
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
   .driver_info = (flags) }
 
-static struct usb_device_id datafab_usb_ids[] = {
+static const struct usb_device_id datafab_usb_ids[] = {
 #      include "unusual_datafab.h"
        { }             /* Terminating entry */
 };
@@ -102,7 +102,7 @@ MODULE_DEVICE_TABLE(usb, datafab_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev datafab_unusual_dev_list[] = {
+static const struct us_unusual_dev datafab_unusual_dev_list[] = {
 #      include "unusual_datafab.h"
        { }             /* Terminating entry */
 };
index 97c66c0d91f4d6ada406ba89d94827a87cd606a9..73dd276ce59c6bdfc98ee747b49bab4815f71364 100644 (file)
@@ -43,7 +43,7 @@ MODULE_FIRMWARE(MS_RW_FIRMWARE);
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
        .driver_info = (flags)}
 
-static struct usb_device_id ene_ub6250_usb_ids[] = {
+static const struct usb_device_id ene_ub6250_usb_ids[] = {
 #      include "unusual_ene_ub6250.h"
        { }             /* Terminating entry */
 };
@@ -65,7 +65,7 @@ MODULE_DEVICE_TABLE(usb, ene_ub6250_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev ene_ub6250_unusual_dev_list[] = {
+static const struct us_unusual_dev ene_ub6250_unusual_dev_list[] = {
 #      include "unusual_ene_ub6250.h"
        { }             /* Terminating entry */
 };
index c3ce51c2dabde38104121dda91cd44cf7ab5d8e9..cab27ba7a32a65f3f127af19984568ad8bb7dd8b 100644 (file)
@@ -119,7 +119,7 @@ static int init_freecom(struct us_data *us);
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
   .driver_info = (flags) }
 
-static struct usb_device_id freecom_usb_ids[] = {
+static const struct usb_device_id freecom_usb_ids[] = {
 #      include "unusual_freecom.h"
        { }             /* Terminating entry */
 };
@@ -141,7 +141,7 @@ MODULE_DEVICE_TABLE(usb, freecom_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev freecom_unusual_dev_list[] = {
+static const struct us_unusual_dev freecom_unusual_dev_list[] = {
 #      include "unusual_freecom.h"
        { }             /* Terminating entry */
 };
index 300aeef160e75c9d84fbd4b69b3c3ad35a774f5b..f2254eb3c0d73f02ada544a98591a25175d2d509 100644 (file)
@@ -67,7 +67,7 @@ static int isd200_Initialization(struct us_data *us);
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
   .driver_info = (flags) }
 
-static struct usb_device_id isd200_usb_ids[] = {
+static const struct usb_device_id isd200_usb_ids[] = {
 #      include "unusual_isd200.h"
        { }             /* Terminating entry */
 };
@@ -89,7 +89,7 @@ MODULE_DEVICE_TABLE(usb, isd200_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev isd200_unusual_dev_list[] = {
+static const struct us_unusual_dev isd200_unusual_dev_list[] = {
 #      include "unusual_isd200.h"
        { }             /* Terminating entry */
 };
index 229bf0c1afc91f0f00cd0b3b1f21f6b0e19b3b18..0e71a8f33c2b6350b0144c825be1c86357a712ba 100644 (file)
@@ -62,7 +62,7 @@ MODULE_IMPORT_NS(USB_STORAGE);
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
   .driver_info = (flags) }
 
-static struct usb_device_id jumpshot_usb_ids[] = {
+static const struct usb_device_id jumpshot_usb_ids[] = {
 #      include "unusual_jumpshot.h"
        { }             /* Terminating entry */
 };
@@ -84,7 +84,7 @@ MODULE_DEVICE_TABLE(usb, jumpshot_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev jumpshot_unusual_dev_list[] = {
+static const struct us_unusual_dev jumpshot_unusual_dev_list[] = {
 #      include "unusual_jumpshot.h"
        { }             /* Terminating entry */
 };
index 38ddfedef629ca6002d2f79c0dd8467cc24599f1..d6a5e54f2ca823f3bfbd4bccbb1ea188b939ec56 100644 (file)
@@ -51,7 +51,7 @@ static int rio_karma_init(struct us_data *us);
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
   .driver_info = (flags) }
 
-static struct usb_device_id karma_usb_ids[] = {
+static const struct usb_device_id karma_usb_ids[] = {
 #      include "unusual_karma.h"
        { }             /* Terminating entry */
 };
@@ -73,7 +73,7 @@ MODULE_DEVICE_TABLE(usb, karma_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev karma_unusual_dev_list[] = {
+static const struct us_unusual_dev karma_unusual_dev_list[] = {
 #      include "unusual_karma.h"
        { }             /* Terminating entry */
 };
index 01f3c2779ccf3e76df5ba41c0ca2f0ee8a40e7f8..f97cf6cadb8eb7c49b0c98097943a3601d006b0e 100644 (file)
@@ -55,7 +55,7 @@ struct usb_onetouch {
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
   .driver_info = (flags) }
 
-static struct usb_device_id onetouch_usb_ids[] = {
+static const struct usb_device_id onetouch_usb_ids[] = {
 #      include "unusual_onetouch.h"
        { }             /* Terminating entry */
 };
@@ -77,7 +77,7 @@ MODULE_DEVICE_TABLE(usb, onetouch_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev onetouch_unusual_dev_list[] = {
+static const struct us_unusual_dev onetouch_unusual_dev_list[] = {
 #      include "unusual_onetouch.h"
        { }             /* Terminating entry */
 };
index 51bcd4a4369058ad47eb07248fedbb2b0aaf4edb..03d1b9c69ea18f0747f49ac59a67be2a87a563ea 100644 (file)
@@ -63,7 +63,7 @@ static int usb_stor_sddr09_init(struct us_data *us);
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
   .driver_info = (flags) }
 
-static struct usb_device_id sddr09_usb_ids[] = {
+static const struct usb_device_id sddr09_usb_ids[] = {
 #      include "unusual_sddr09.h"
        { }             /* Terminating entry */
 };
@@ -85,7 +85,7 @@ MODULE_DEVICE_TABLE(usb, sddr09_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev sddr09_unusual_dev_list[] = {
+static const struct us_unusual_dev sddr09_unusual_dev_list[] = {
 #      include "unusual_sddr09.h"
        { }             /* Terminating entry */
 };
index 0aa079405d23c277f694050899f8c66ac928cb16..b8227478a7add21e48dbe0573f49efb9639f5aa3 100644 (file)
@@ -40,7 +40,7 @@ MODULE_IMPORT_NS(USB_STORAGE);
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
   .driver_info = (flags) }
 
-static struct usb_device_id sddr55_usb_ids[] = {
+static const struct usb_device_id sddr55_usb_ids[] = {
 #      include "unusual_sddr55.h"
        { }             /* Terminating entry */
 };
@@ -62,7 +62,7 @@ MODULE_DEVICE_TABLE(usb, sddr55_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev sddr55_unusual_dev_list[] = {
+static const struct us_unusual_dev sddr55_unusual_dev_list[] = {
 #      include "unusual_sddr55.h"
        { }             /* Terminating entry */
 };
index f0d0ca37163da96831cdea4265bd6319a2987334..e7c224b7c4646382f460ca588b9c428d881dc518 100644 (file)
@@ -162,7 +162,7 @@ static int init_usbat_flash(struct us_data *us);
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
   .driver_info = (flags) }
 
-static struct usb_device_id usbat_usb_ids[] = {
+static const struct usb_device_id usbat_usb_ids[] = {
 #      include "unusual_usbat.h"
        { }             /* Terminating entry */
 };
@@ -184,7 +184,7 @@ MODULE_DEVICE_TABLE(usb, usbat_usb_ids);
        .initFunction = init_function,  \
 }
 
-static struct us_unusual_dev usbat_unusual_dev_list[] = {
+static const struct us_unusual_dev usbat_unusual_dev_list[] = {
 #      include "unusual_usbat.h"
        { }             /* Terminating entry */
 };
index c223b4dc1b199f09b3daa45b396f9ee2f5050950..03043d567fa1bebf0c3c4c0c608bf6bf55d1f53c 100644 (file)
@@ -927,7 +927,7 @@ static const struct scsi_host_template uas_host_template = {
 { USB_DEVICE_VER(id_vendor, id_product, bcdDeviceMin, bcdDeviceMax), \
        .driver_info = (flags) }
 
-static struct usb_device_id uas_usb_ids[] = {
+static const struct usb_device_id uas_usb_ids[] = {
 #      include "unusual_uas.h"
        { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, USB_SC_SCSI, USB_PR_BULK) },
        { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, USB_SC_SCSI, USB_PR_UAS) },