ALSA: portman2x4: Check card index validity at probe

Although portman2x4 driver has a check of the given devptr->id value,
it doesn't check for a negative id, which is often given as "none" or
such value when bound via sysfs.  This may lead 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.

Cc: stable@vger.kernel.org
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20260806153227.1460166-7-tiwai@suse.de
This commit is contained in:
Takashi Iwai
2026-08-06 18:10:21 +02:00
parent d18a260720
commit 3690ef2046
+6
View File
@@ -697,6 +697,12 @@ static int snd_portman_probe(struct platform_device *pdev)
p = platform_get_drvdata(pdev);
platform_set_drvdata(pdev, NULL);
if (dev < 0) {
dev_warn(&pdev->dev,
"Invalid card index %d, using default 0\n", dev);
dev = 0;
}
if (dev >= SNDRV_CARDS)
return -ENODEV;
if (!enable[dev])