Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

media: dvb-usb: Constify struct usb_device_id

'struct usb_device_id' is not modified in these drivers.

Constifying this structure moves some data to a read-only section, so
increase overall security.

In order to do that, struct dvb_usb_device_description (in dvb-usb.h) also
needs to be updated.

On a x86_64, with allmodconfig, as an example:
Before:
======
text data bss dec hex filename
1983 4240 4 6227 1853 drivers/media/usb/dvb-usb/a800.o

After:
=====
text data bss dec hex filename
2079 4144 4 6227 1853 drivers/media/usb/dvb-usb/a800.o

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>

authored by

Christophe JAILLET and committed by
Hans Verkuil
51f76375 19442ed1

+25 -25
+1 -1
drivers/media/usb/dvb-usb/a800.c
··· 77 77 AVERMEDIA_DVBT_USB2_WARM, 78 78 }; 79 79 80 - static struct usb_device_id a800_table[] = { 80 + static const struct usb_device_id a800_table[] = { 81 81 DVB_USB_DEV(AVERMEDIA, AVERMEDIA_DVBT_USB2_COLD), 82 82 DVB_USB_DEV(AVERMEDIA, AVERMEDIA_DVBT_USB2_WARM), 83 83 { }
+1 -1
drivers/media/usb/dvb-usb/af9005.c
··· 1005 1005 ANSONIC_DVBT_USB, 1006 1006 }; 1007 1007 1008 - static struct usb_device_id af9005_usb_table[] = { 1008 + static const struct usb_device_id af9005_usb_table[] = { 1009 1009 DVB_USB_DEV(AFATECH, AFATECH_AF9005), 1010 1010 DVB_USB_DEV(TERRATEC, TERRATEC_CINERGY_T_USB_XE), 1011 1011 DVB_USB_DEV(ANSONIC, ANSONIC_DVBT_USB),
+1 -1
drivers/media/usb/dvb-usb/az6027.c
··· 1107 1107 ELGATO_EYETV_SAT_V3, 1108 1108 }; 1109 1109 1110 - static struct usb_device_id az6027_usb_table[] = { 1110 + static const struct usb_device_id az6027_usb_table[] = { 1111 1111 DVB_USB_DEV(AZUREWAVE, AZUREWAVE_AZ6027), 1112 1112 DVB_USB_DEV(TERRATEC, TERRATEC_DVBS2CI_V1), 1113 1113 DVB_USB_DEV(TERRATEC, TERRATEC_DVBS2CI_V2),
+1 -1
drivers/media/usb/dvb-usb/cinergyT2-core.c
··· 197 197 TERRATEC_CINERGY_T2, 198 198 }; 199 199 200 - static struct usb_device_id cinergyt2_usb_table[] = { 200 + static const struct usb_device_id cinergyt2_usb_table[] = { 201 201 DVB_USB_DEV(TERRATEC, TERRATEC_CINERGY_T2), 202 202 { } 203 203 };
+2 -2
drivers/media/usb/dvb-usb/cxusb.c
··· 78 78 NR__cxusb_table_index 79 79 }; 80 80 81 - static struct usb_device_id cxusb_table[]; 81 + static const struct usb_device_id cxusb_table[]; 82 82 83 83 int cxusb_ctrl_msg(struct dvb_usb_device *d, 84 84 u8 cmd, const u8 *wbuf, int wlen, u8 *rbuf, int rlen) ··· 1692 1692 dvb_usb_device_exit(intf); 1693 1693 } 1694 1694 1695 - static struct usb_device_id cxusb_table[] = { 1695 + static const struct usb_device_id cxusb_table[] = { 1696 1696 DVB_USB_DEV(MEDION, MEDION_MD95700), 1697 1697 DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_LG064F_COLD), 1698 1698 DVB_USB_DEV(DVICO, DVICO_BLUEBIRD_LG064F_WARM),
+1 -1
drivers/media/usb/dvb-usb/dibusb-mb.c
··· 155 155 ULTIMA_TVBOX_ANCHOR_COLD, 156 156 }; 157 157 158 - static struct usb_device_id dibusb_dib3000mb_table[] = { 158 + static const struct usb_device_id dibusb_dib3000mb_table[] = { 159 159 DVB_USB_DEV(WIDEVIEW, WIDEVIEW_DVBT_USB_COLD), 160 160 DVB_USB_DEV(WIDEVIEW, WIDEVIEW_DVBT_USB_WARM), 161 161 DVB_USB_DEV(COMPRO, COMPRO_DVBU2000_COLD),
+1 -1
drivers/media/usb/dvb-usb/dibusb-mc.c
··· 43 43 HUMAX_DVB_T_STICK_HIGH_SPEED_WARM, 44 44 }; 45 45 46 - static struct usb_device_id dibusb_dib3000mc_table[] = { 46 + static const struct usb_device_id dibusb_dib3000mc_table[] = { 47 47 DVB_USB_DEV(DIBCOM, DIBCOM_MOD3001_COLD), 48 48 DVB_USB_DEV(DIBCOM, DIBCOM_MOD3001_WARM), 49 49 DVB_USB_DEV(ULTIMA_ELECTRONIC, ULTIMA_TVBOX_USB2_COLD),
+1 -1
drivers/media/usb/dvb-usb/digitv.c
··· 299 299 ANCHOR_NEBULA_DIGITV, 300 300 }; 301 301 302 - static struct usb_device_id digitv_table[] = { 302 + static const struct usb_device_id digitv_table[] = { 303 303 DVB_USB_DEV(ANCHOR, ANCHOR_NEBULA_DIGITV), 304 304 { } 305 305 };
+1 -1
drivers/media/usb/dvb-usb/dtt200u.c
··· 171 171 MIGLIA_WT220U_ZAP250_COLD, 172 172 }; 173 173 174 - static struct usb_device_id dtt200u_usb_table[] = { 174 + static const struct usb_device_id dtt200u_usb_table[] = { 175 175 DVB_USB_DEV(WIDEVIEW, WIDEVIEW_DTT200U_COLD), 176 176 DVB_USB_DEV(WIDEVIEW, WIDEVIEW_DTT200U_WARM), 177 177 DVB_USB_DEV(WIDEVIEW, WIDEVIEW_WT220U_COLD),
+1 -1
drivers/media/usb/dvb-usb/dtv5100.c
··· 166 166 AME_DTV5100, 167 167 }; 168 168 169 - static struct usb_device_id dtv5100_table[] = { 169 + static const struct usb_device_id dtv5100_table[] = { 170 170 DVB_USB_DEV(AME, AME_DTV5100), 171 171 { } 172 172 };
+2 -2
drivers/media/usb/dvb-usb/dvb-usb.h
··· 73 73 const char *name; 74 74 75 75 #define DVB_USB_ID_MAX_NUM 15 76 - struct usb_device_id *cold_ids[DVB_USB_ID_MAX_NUM]; 77 - struct usb_device_id *warm_ids[DVB_USB_ID_MAX_NUM]; 76 + const struct usb_device_id *cold_ids[DVB_USB_ID_MAX_NUM]; 77 + const struct usb_device_id *warm_ids[DVB_USB_ID_MAX_NUM]; 78 78 }; 79 79 80 80 static inline u8 rc5_custom(struct rc_map_table *key)
+1 -1
drivers/media/usb/dvb-usb/dw2102.c
··· 1836 1836 TEVII_S662 1837 1837 }; 1838 1838 1839 - static struct usb_device_id dw2102_table[] = { 1839 + static const struct usb_device_id dw2102_table[] = { 1840 1840 DVB_USB_DEV(CYPRESS, CYPRESS_DW2102), 1841 1841 DVB_USB_DEV(CYPRESS, CYPRESS_DW2101), 1842 1842 DVB_USB_DEV(CYPRESS, CYPRESS_DW2104),
+1 -1
drivers/media/usb/dvb-usb/gp8psk.c
··· 319 319 GENPIX_SKYWALKER_CW3K, 320 320 }; 321 321 322 - static struct usb_device_id gp8psk_usb_table[] = { 322 + static const struct usb_device_id gp8psk_usb_table[] = { 323 323 DVB_USB_DEV(GENPIX, GENPIX_8PSK_REV_1_COLD), 324 324 DVB_USB_DEV(GENPIX, GENPIX_8PSK_REV_1_WARM), 325 325 DVB_USB_DEV(GENPIX, GENPIX_8PSK_REV_2),
+1 -1
drivers/media/usb/dvb-usb/m920x.c
··· 909 909 AZUREWAVE_TWINHAN_VP7049, 910 910 }; 911 911 912 - static struct usb_device_id m920x_table[] = { 912 + static const struct usb_device_id m920x_table[] = { 913 913 DVB_USB_DEV(MSI, MSI_MEGASKY580), 914 914 DVB_USB_DEV(ANUBIS_ELECTRONIC, ANUBIS_MSI_DIGI_VOX_MINI_II), 915 915 DVB_USB_DEV(ANUBIS_ELECTRONIC, ANUBIS_LIFEVIEW_TV_WALKER_TWIN_COLD),
+1 -1
drivers/media/usb/dvb-usb/nova-t-usb2.c
··· 165 165 HAUPPAUGE_WINTV_NOVA_T_USB2_WARM, 166 166 }; 167 167 168 - static struct usb_device_id nova_t_table[] = { 168 + static const struct usb_device_id nova_t_table[] = { 169 169 DVB_USB_DEV(HAUPPAUGE, HAUPPAUGE_WINTV_NOVA_T_USB2_COLD), 170 170 DVB_USB_DEV(HAUPPAUGE, HAUPPAUGE_WINTV_NOVA_T_USB2_WARM), 171 171 { }
+1 -1
drivers/media/usb/dvb-usb/opera1.c
··· 425 425 OPERA1_WARM, 426 426 }; 427 427 428 - static struct usb_device_id opera1_table[] = { 428 + static const struct usb_device_id opera1_table[] = { 429 429 DVB_USB_DEV(CYPRESS, CYPRESS_OPERA1_COLD), 430 430 DVB_USB_DEV(OPERA1, OPERA1_WARM), 431 431 { }
+2 -2
drivers/media/usb/dvb-usb/pctv452e.c
··· 913 913 914 914 static int pctv452e_frontend_attach(struct dvb_usb_adapter *a) 915 915 { 916 - struct usb_device_id *id; 916 + const struct usb_device_id *id; 917 917 918 918 a->fe_adap[0].fe = dvb_attach(stb0899_attach, &stb0899_config, 919 919 &a->dev->i2c_adap); ··· 959 959 TECHNOTREND_CONNECT_S2_3650_CI, 960 960 }; 961 961 962 - static struct usb_device_id pctv452e_usb_table[] = { 962 + static const struct usb_device_id pctv452e_usb_table[] = { 963 963 DVB_USB_DEV(PINNACLE, PINNACLE_PCTV_452E), 964 964 DVB_USB_DEV(TECHNOTREND, TECHNOTREND_CONNECT_S2_3600), 965 965 DVB_USB_DEV(TECHNOTREND, TECHNOTREND_CONNECT_S2_3650_CI),
+1 -1
drivers/media/usb/dvb-usb/technisat-usb2.c
··· 693 693 TECHNISAT_USB2_DVB_S2, 694 694 }; 695 695 696 - static struct usb_device_id technisat_usb2_id_table[] = { 696 + static const struct usb_device_id technisat_usb2_id_table[] = { 697 697 DVB_USB_DEV(TECHNISAT, TECHNISAT_USB2_DVB_S2), 698 698 { } 699 699 };
+1 -1
drivers/media/usb/dvb-usb/ttusb2.c
··· 638 638 TECHNOTREND_CONNECT_S2400_8KEEPROM, 639 639 }; 640 640 641 - static struct usb_device_id ttusb2_table[] = { 641 + static const struct usb_device_id ttusb2_table[] = { 642 642 DVB_USB_DEV(PINNACLE, PINNACLE_PCTV_400E), 643 643 DVB_USB_DEV(PINNACLE, PINNACLE_PCTV_450E), 644 644 DVB_USB_DEV(TECHNOTREND, TECHNOTREND_CONNECT_S2400),
+1 -1
drivers/media/usb/dvb-usb/umt-010.c
··· 86 86 HANFTEK_UMT_010_WARM, 87 87 }; 88 88 89 - static struct usb_device_id umt_table[] = { 89 + static const struct usb_device_id umt_table[] = { 90 90 DVB_USB_DEV(HANFTEK, HANFTEK_UMT_010_COLD), 91 91 DVB_USB_DEV(HANFTEK, HANFTEK_UMT_010_WARM), 92 92 { }
+1 -1
drivers/media/usb/dvb-usb/vp702x.c
··· 375 375 VISIONPLUS_VP7020_WARM, 376 376 }; 377 377 378 - static struct usb_device_id vp702x_usb_table[] = { 378 + static const struct usb_device_id vp702x_usb_table[] = { 379 379 DVB_USB_DEV(VISIONPLUS, VISIONPLUS_VP7021_COLD), 380 380 // DVB_USB_DEV(VISIONPLUS, VISIONPLUS_VP7020_COLD), 381 381 // DVB_USB_DEV(VISIONPLUS, VISIONPLUS_VP7020_WARM),
+1 -1
drivers/media/usb/dvb-usb/vp7045.c
··· 179 179 VISIONPLUS_TINYUSB2_WARM, 180 180 }; 181 181 182 - static struct usb_device_id vp7045_usb_table[] = { 182 + static const struct usb_device_id vp7045_usb_table[] = { 183 183 DVB_USB_DEV(VISIONPLUS, VISIONPLUS_VP7045_COLD), 184 184 DVB_USB_DEV(VISIONPLUS, VISIONPLUS_VP7045_WARM), 185 185 DVB_USB_DEV(VISIONPLUS, VISIONPLUS_TINYUSB2_COLD),