[PATCH] ALSA: core: Validate device type for dynamic minors

From: Sreeraj S Kurup

Date: Wed Nov 04 2026 - 11:00:14 EST


Reject unsupported device types when allocating dynamic minors.

This prevents invalid device types from being registered and
avoids unnecessarily consuming available minor numbers.

Return -EINVAL for unsupported device types.

Signed-off-by: Sreeraj S Kurup <sreekuttan2156239@xxxxxxxxx>
---
sound/core/sound.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/sound/core/sound.c b/sound/core/sound.c
index 24f40763a20c..32637c40df05 100644
--- a/sound/core/sound.c
+++ b/sound/core/sound.c
@@ -184,6 +184,18 @@ static int snd_find_free_minor(int type, struct snd_card *card, int dev)
if (type == SNDRV_DEVICE_TYPE_TIMER)
return SNDRV_MINOR_TIMER;

+ switch (type) {
+ case SNDRV_DEVICE_TYPE_CONTROL:
+ case SNDRV_DEVICE_TYPE_HWDEP:
+ case SNDRV_DEVICE_TYPE_RAWMIDI:
+ case SNDRV_DEVICE_TYPE_PCM_PLAYBACK:
+ case SNDRV_DEVICE_TYPE_PCM_CAPTURE:
+ case SNDRV_DEVICE_TYPE_COMPRESS:
+ break;
+ default:
+ return -EINVAL;
+ }
+
for (minor = 0; minor < ARRAY_SIZE(snd_minors); ++minor) {
/* skip static minors still used for module auto loading */
if (SNDRV_MINOR_DEVICE(minor) == SNDRV_MINOR_CONTROL)
--
2.55.0