projects
/
platform
/
kernel
/
linux-starfive.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6a199d5
)
ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()
author
Artemii Karasev
<karasev@ispras.ru>
Thu, 19 Jan 2023 08:22:59 +0000
(
00:22
-0800)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 9 Feb 2023 10:28:01 +0000
(11:28 +0100)
[ Upstream commit
b9cee506da2b7920b5ea02ccd8e78a907d0ee7aa
]
snd_hda_get_connections() can return a negative error code.
It may lead to accessing 'conn' array at a negative index.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Artemii Karasev <karasev@ispras.ru>
Fixes:
30b4503378c9
("ALSA: hda - Expose secret DAC-AA connection of some VIA codecs")
Link:
https://lore.kernel.org/r/20230119082259.3634-1-karasev@ispras.ru
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/pci/hda/patch_via.c
patch
|
blob
|
history
diff --git
a/sound/pci/hda/patch_via.c
b/sound/pci/hda/patch_via.c
index
aea7fae
..
2994f85
100644
(file)
--- a/
sound/pci/hda/patch_via.c
+++ b/
sound/pci/hda/patch_via.c
@@
-819,6
+819,9
@@
static int add_secret_dac_path(struct hda_codec *codec)
return 0;
nums = snd_hda_get_connections(codec, spec->gen.mixer_nid, conn,
ARRAY_SIZE(conn) - 1);
+ if (nums < 0)
+ return nums;
+
for (i = 0; i < nums; i++) {
if (get_wcaps_type(get_wcaps(codec, conn[i])) == AC_WID_AUD_OUT)
return 0;