2021-09-07 01:50:20

by Tong Zhang

[permalink] [raw]
Subject: [PATCH v1] ALSA: vx222: fix null-ptr-deref

a recent refactor created a null pointer vx in snd_vx222_probe().
The vx pointer should have been populated in snd_vx222_create() as
suggested in earlier version, otherwise vx->core.ibl.size will throw an
error.

[ 1.298398] BUG: kernel NULL pointer dereference, address: 00000000000001d8
[ 1.316799] RIP: 0010:snd_vx222_probe+0x155/0x290 [snd_vx222]

Fixes: 3bde3359aa16 ("ALSA: vx222: Allocate resources with device-managed APIs")
Signed-off-by: Tong Zhang <[email protected]>
---
sound/pci/vx222/vx222.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/sound/pci/vx222/vx222.c b/sound/pci/vx222/vx222.c
index f48cc20b9e8a..468a6a20dc1e 100644
--- a/sound/pci/vx222/vx222.c
+++ b/sound/pci/vx222/vx222.c
@@ -137,6 +137,7 @@ static int snd_vx222_create(struct snd_card *card, struct pci_dev *pci,
}
chip->irq = pci->irq;
card->sync_irq = chip->irq;
+ *rchip = vx;

return 0;
}
--
2.25.1


2021-09-09 07:53:26

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH v1] ALSA: vx222: fix null-ptr-deref

On Tue, 07 Sep 2021 03:47:45 +0200,
Tong Zhang wrote:
>
> a recent refactor created a null pointer vx in snd_vx222_probe().
> The vx pointer should have been populated in snd_vx222_create() as
> suggested in earlier version, otherwise vx->core.ibl.size will throw an
> error.
>
> [ 1.298398] BUG: kernel NULL pointer dereference, address: 00000000000001d8
> [ 1.316799] RIP: 0010:snd_vx222_probe+0x155/0x290 [snd_vx222]
>
> Fixes: 3bde3359aa16 ("ALSA: vx222: Allocate resources with device-managed APIs")
> Signed-off-by: Tong Zhang <[email protected]>

Thanks, applied.


Takashi