diff options
| author | Len Bao <len.bao@gmx.us> | 2026-05-24 16:29:13 +0000 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2026-05-25 09:31:40 +0200 |
| commit | 055cda1d47960c32e04dcb5d163e4fda7175632e (patch) | |
| tree | ddfcbc3fa4d8e26e0b18f4a43a26e31e04b08fb3 /sound | |
| parent | 177be86ecc0185595badb2150e97810bb76ddeb2 (diff) | |
| download | linux-next-history-055cda1d47960c32e04dcb5d163e4fda7175632e.tar.gz | |
ALSA: core: Mark some variables as __ro_after_init
Some variables in the 'ALSA/core' 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>
Link: https://patch.msgid.link/20260524162914.47764-1-len.bao@gmx.us
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
| -rw-r--r-- | sound/core/hrtimer.c | 2 | ||||
| -rw-r--r-- | sound/core/oss/pcm_oss.c | 4 | ||||
| -rw-r--r-- | sound/core/rawmidi.c | 4 | ||||
| -rw-r--r-- | sound/core/seq/oss/seq_oss_init.c | 4 | ||||
| -rw-r--r-- | sound/core/seq/seq_dummy.c | 2 |
5 files changed, 8 insertions, 8 deletions
diff --git a/sound/core/hrtimer.c b/sound/core/hrtimer.c index 9fcd1c03dc5b2..92c585f8eeb10 100644 --- a/sound/core/hrtimer.c +++ b/sound/core/hrtimer.c @@ -20,7 +20,7 @@ MODULE_LICENSE("GPL"); MODULE_ALIAS("snd-timer-" __stringify(SNDRV_TIMER_GLOBAL_HRTIMER)); #define NANO_SEC 1000000000UL /* 10^9 in sec */ -static unsigned int resolution; +static unsigned int resolution __ro_after_init; struct snd_hrtimer { struct snd_timer *timer; diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c index 746eaf93e1a57..9826d9a0be6d3 100644 --- a/sound/core/oss/pcm_oss.c +++ b/sound/core/oss/pcm_oss.c @@ -32,8 +32,8 @@ #define OSS_ALSAEMULVER _SIOR ('M', 249, int) -static int dsp_map[SNDRV_CARDS]; -static int adsp_map[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)] = 1}; +static int dsp_map[SNDRV_CARDS] __ro_after_init; +static int adsp_map[SNDRV_CARDS] __ro_after_init = {[0 ... (SNDRV_CARDS-1)] = 1}; static bool nonblock_open = 1; MODULE_AUTHOR("Jaroslav Kysela <perex@perex.cz>, Abramo Bagnara <abramo@alsa-project.org>"); diff --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c index 3b1034a449386..4dfd9d53e6d3a 100644 --- a/sound/core/rawmidi.c +++ b/sound/core/rawmidi.c @@ -28,8 +28,8 @@ MODULE_DESCRIPTION("Midlevel RawMidi code for ALSA."); MODULE_LICENSE("GPL"); #ifdef CONFIG_SND_OSSEMUL -static int midi_map[SNDRV_CARDS]; -static int amidi_map[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)] = 1}; +static int midi_map[SNDRV_CARDS] __ro_after_init; +static int amidi_map[SNDRV_CARDS] __ro_after_init = {[0 ... (SNDRV_CARDS-1)] = 1}; module_param_array(midi_map, int, NULL, 0444); MODULE_PARM_DESC(midi_map, "Raw MIDI device number assigned to 1st OSS device."); module_param_array(amidi_map, int, NULL, 0444); diff --git a/sound/core/seq/oss/seq_oss_init.c b/sound/core/seq/oss/seq_oss_init.c index d3e6a8a8d8234..1aece46c8b064 100644 --- a/sound/core/seq/oss/seq_oss_init.c +++ b/sound/core/seq/oss/seq_oss_init.c @@ -27,8 +27,8 @@ static int maxqlen = SNDRV_SEQ_OSS_MAX_QLEN; module_param(maxqlen, int, 0444); MODULE_PARM_DESC(maxqlen, "maximum queue length"); -static int system_client = -1; /* ALSA sequencer client number */ -static int system_port = -1; +static int system_client __ro_after_init = -1; /* ALSA sequencer client number */ +static int system_port __ro_after_init = -1; static int num_clients; static struct seq_oss_devinfo *client_table[SNDRV_SEQ_OSS_MAX_CLIENTS]; diff --git a/sound/core/seq/seq_dummy.c b/sound/core/seq/seq_dummy.c index af45f328ae990..3fe0853aace34 100644 --- a/sound/core/seq/seq_dummy.c +++ b/sound/core/seq/seq_dummy.c @@ -71,7 +71,7 @@ struct snd_seq_dummy_port { int connect; }; -static int my_client = -1; +static int my_client __ro_after_init = -1; /* * event input callback - just redirect events to subscribers |
