[PATCH] ALSA: dummy: Check card index validity at probe
Takashi Iwai <[email protected]> Thu, 6 Aug 2026 12:04:31 +0200
| Newsgroups | org.kernel.vger.linux-sound |
|---|---|
| Message-ID | <[email protected]> |
snd_dummy_probe() blindly trusts that the given devptr->id value is within the proper card index range. It's OK for the devices the driver itself creates at the module probe time, but if the device is bound manually via sysfs interface, this could be -1 as "none", and this leads to OOB access for index[] and other parameters. Add a sanity check for the card index and warn/correct it if it's a value out of the range. Reported-by: [email protected] Closes: https://lore.kernel.org/[email protected] Cc: <[email protected]> Signed-off-by: Takashi Iwai <[email protected]> --- sound/drivers/dummy.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c index 8836799727ea..022247354732 100644 --- a/sound/drivers/dummy.c +++ b/sound/drivers/dummy.c @@ -1042,6 +1042,12 @@ static int snd_dummy_probe(struct platform_device *devptr) int idx, err; int dev = devptr->id; + if (dev < 0 || dev >= SNDRV_CARDS) { + dev_warn(&devptr->dev, + "Invalid card index %d, using default 0\n", dev); + dev = 0; + } + err = snd_devm_card_new(&devptr->dev, index[dev], id[dev], THIS_MODULE, sizeof(struct snd_dummy), &card); if (err < 0) -- 2.55.0