From: Len Bao Date: Sun, 24 May 2026 15:40:49 +0000 (+0000) Subject: ALSA: isa: Mark '*_registered' variables as __ro_after_init X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=177be86ecc0185595badb2150e97810bb76ddeb2;p=thirdparty%2Fkernel%2Flinux.git ALSA: isa: Mark '*_registered' variables as __ro_after_init The '*_registered' variables are initialized only during the init phase in the '__init' functions and never changed. So, mark them as __ro_after_init to reduce the attack surface. Signed-off-by: Len Bao Link: https://patch.msgid.link/20260524154051.45258-1-len.bao@gmx.us Signed-off-by: Takashi Iwai --- diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c index 3d1f19321b9e9..ecff521957cb3 100644 --- a/sound/isa/cmi8330.c +++ b/sound/isa/cmi8330.c @@ -103,8 +103,8 @@ MODULE_PARM_DESC(mpuport, "MPU-401 port # for CMI8330/CMI8329 driver."); module_param_hw_array(mpuirq, int, irq, NULL, 0444); MODULE_PARM_DESC(mpuirq, "IRQ # for CMI8330/CMI8329 MPU-401 port."); #ifdef CONFIG_PNP -static int isa_registered; -static int pnp_registered; +static int isa_registered __ro_after_init; +static int pnp_registered __ro_after_init; #endif #define CMI8330_RMUX3D 16 diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c index e36cc147651a4..238065ffa1d26 100644 --- a/sound/isa/cs423x/cs4236.c +++ b/sound/isa/cs423x/cs4236.c @@ -69,9 +69,9 @@ module_param_hw_array(dma2, int, dma, NULL, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for " IDENT " driver."); #ifdef CONFIG_PNP -static int isa_registered; -static int pnpc_registered; -static int pnp_registered; +static int isa_registered __ro_after_init; +static int pnpc_registered __ro_after_init; +static int pnp_registered __ro_after_init; #endif /* CONFIG_PNP */ struct snd_card_cs4236 { diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c index 1da7b400a17b6..df88d91e0fb20 100644 --- a/sound/isa/es18xx.c +++ b/sound/isa/es18xx.c @@ -1924,9 +1924,9 @@ module_param_hw_array(dma2, int, dma, NULL, 0444); MODULE_PARM_DESC(dma2, "DMA 2 # for ES18xx driver."); #ifdef CONFIG_PNP -static int isa_registered; -static int pnp_registered; -static int pnpc_registered; +static int isa_registered __ro_after_init; +static int pnp_registered __ro_after_init; +static int pnpc_registered __ro_after_init; static const struct pnp_device_id snd_audiodrive_pnpbiosids[] = { { .id = "ESS1869" }, diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c index 6c3a2977dcb3f..115f900fa0638 100644 --- a/sound/isa/gus/interwave.c +++ b/sound/isa/gus/interwave.c @@ -111,8 +111,8 @@ struct snd_interwave { #ifdef CONFIG_PNP -static int isa_registered; -static int pnp_registered; +static int isa_registered __ro_after_init; +static int pnp_registered __ro_after_init; static const struct pnp_card_device_id snd_interwave_pnpids[] = { #ifndef SNDRV_STB diff --git a/sound/isa/msnd/msnd_pinnacle.c b/sound/isa/msnd/msnd_pinnacle.c index 5b729bb02ef62..0d5f4461a7bc8 100644 --- a/sound/isa/msnd/msnd_pinnacle.c +++ b/sound/isa/msnd/msnd_pinnacle.c @@ -1199,8 +1199,8 @@ static int snd_msnd_pnp_resume(struct pnp_card_link *pcard) } #endif -static int isa_registered; -static int pnp_registered; +static int isa_registered __ro_after_init; +static int pnp_registered __ro_after_init; static const struct pnp_card_device_id msnd_pnpids[] = { /* Pinnacle PnP */ diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c index 8c1767697b625..88eada933a1f9 100644 --- a/sound/isa/opl3sa2.c +++ b/sound/isa/opl3sa2.c @@ -69,9 +69,9 @@ module_param_array(opl3sa3_ymode, int, NULL, 0444); MODULE_PARM_DESC(opl3sa3_ymode, "Speaker size selection for 3D Enhancement mode: Desktop/Large Notebook/Small Notebook/HiFi."); #ifdef CONFIG_PNP -static int isa_registered; -static int pnp_registered; -static int pnpc_registered; +static int isa_registered __ro_after_init; +static int pnp_registered __ro_after_init; +static int pnpc_registered __ro_after_init; #endif /* control ports */ diff --git a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c index 208d1942a015a..866d7f5c58a01 100644 --- a/sound/isa/sb/sb16.c +++ b/sound/isa/sb/sb16.c @@ -99,8 +99,8 @@ MODULE_PARM_DESC(seq_ports, "Number of sequencer ports for WaveTable synth."); #endif #ifdef CONFIG_PNP -static int isa_registered; -static int pnp_registered; +static int isa_registered __ro_after_init; +static int pnp_registered __ro_after_init; #endif struct snd_card_sb16 { diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c index 553ceb92d2989..ce8a59650e383 100644 --- a/sound/isa/sscape.c +++ b/sound/isa/sscape.c @@ -71,8 +71,8 @@ module_param_array(joystick, bool, NULL, 0444); MODULE_PARM_DESC(joystick, "Enable gameport."); #ifdef CONFIG_PNP -static int isa_registered; -static int pnp_registered; +static int isa_registered __ro_after_init; +static int pnp_registered __ro_after_init; static const struct pnp_card_device_id sscape_pnpids[] = { { .id = "ENS3081", .devs = { { "ENS0000" } } }, /* Soundscape PnP */ diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c index f4a0c21c905e9..5b1917cc19ce4 100644 --- a/sound/isa/wavefront/wavefront.c +++ b/sound/isa/wavefront/wavefront.c @@ -71,8 +71,8 @@ module_param_array(use_cs4232_midi, bool, NULL, 0444); MODULE_PARM_DESC(use_cs4232_midi, "Use CS4232 MPU-401 interface (inaccessibly located inside your computer)"); #ifdef CONFIG_PNP -static int isa_registered; -static int pnp_registered; +static int isa_registered __ro_after_init; +static int pnp_registered __ro_after_init; static const struct pnp_card_device_id snd_wavefront_pnpids[] = { /* Tropez */