ALSA: mts64: Check card index validity at probe

Although mts64 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-6-tiwai@suse.de
This commit is contained in:
Takashi Iwai
2026-08-06 18:10:21 +02:00
parent b65d5182ec
commit d18a260720
+6
View File
@@ -900,6 +900,12 @@ static int snd_mts64_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])