[PATCH] ALSA: drivers: Mark some variables as __ro_after_init

Len Bao posted 1 patch 2 weeks, 1 day ago
sound/drivers/mpu401/mpu401.c | 2 +-
sound/drivers/pcmtest.c       | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
[PATCH] ALSA: drivers: Mark some variables as __ro_after_init
Posted by Len Bao 2 weeks, 1 day ago
Some variables in the 'ALSA/drivers' 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 <len.bao@gmx.us>
---
 sound/drivers/mpu401/mpu401.c | 2 +-
 sound/drivers/pcmtest.c       | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/drivers/mpu401/mpu401.c b/sound/drivers/mpu401/mpu401.c
index d3f942408..b615a310c 100644
--- a/sound/drivers/mpu401/mpu401.c
+++ b/sound/drivers/mpu401/mpu401.c
@@ -46,7 +46,7 @@ module_param_array(uart_enter, bool, NULL, 0444);
 MODULE_PARM_DESC(uart_enter, "Issue UART_ENTER command at open.");
 
 static struct platform_device *platform_devices[SNDRV_CARDS];
-static int pnp_registered;
+static int pnp_registered __ro_after_init;
 static unsigned int snd_mpu401_devices;
 
 static int snd_mpu401_create(struct device *devptr, int dev,
diff --git a/sound/drivers/pcmtest.c b/sound/drivers/pcmtest.c
index 7f93557b5..5d5281e4d 100644
--- a/sound/drivers/pcmtest.c
+++ b/sound/drivers/pcmtest.c
@@ -113,7 +113,7 @@ struct pcmtst_buf_iter {
 	struct timer_list timer_instance;
 };
 
-static struct snd_pcm_hardware snd_pcmtst_hw = {
+static struct snd_pcm_hardware snd_pcmtst_hw __ro_after_init = {
 	.info = (SNDRV_PCM_INFO_INTERLEAVED |
 		 SNDRV_PCM_INFO_BLOCK_TRANSFER |
 		 SNDRV_PCM_INFO_NONINTERLEAVED |
@@ -137,7 +137,7 @@ struct pattern_buf {
 	u32 len;
 };
 
-static int buf_allocated;
+static int buf_allocated __ro_after_init;
 static struct pattern_buf patt_bufs[MAX_CHANNELS_NUM];
 
 static inline void inc_buf_pos(struct pcmtst_buf_iter *v_iter, size_t by, size_t bytes)
-- 
2.43.0
Re: [PATCH] ALSA: drivers: Mark some variables as __ro_after_init
Posted by Takashi Iwai 2 weeks ago
On Sun, 24 May 2026 18:52:48 +0200,
Len Bao wrote:
> 
> Some variables in the 'ALSA/drivers' 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 <len.bao@gmx.us>

Applied to for-next branch.  Thanks.


Takashi