Commit 71d7925
ALSA: hda: Fix missing pointer check in hda_component_manager_init function
[ Upstream commit 1cf11d80db5df805b538c942269e05a65bcaf5bc ]
The __component_match_add function may assign the 'matchptr' pointer
the value ERR_PTR(-ENOMEM), which will subsequently be dereferenced.
The call stack leading to the error looks like this:
hda_component_manager_init
|-> component_match_add
|-> component_match_add_release
|-> __component_match_add ( ... ,**matchptr, ... )
|-> *matchptr = ERR_PTR(-ENOMEM); // assign
|-> component_master_add_with_match( ... match)
|-> component_match_realloc(match, match->num); // dereference
Add IS_ERR() check to prevent the crash.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: ae7abe3 ("ALSA: hda/realtek: Add CS35L41 support for Thinkpad laptops")
Cc: [email protected]
Signed-off-by: Denis Arefev <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
[ Modified the source code path due to 6.12 doesn't have
commit:6014e9021b28 ("ALSA: hda: Move codec drivers into sound/hda/codecs directory
") ]
Signed-off-by: Rajani Kantha <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
(cherry picked from commit 218a8504e62fc2c8a1fd12523346b7a2b9bd2474)
Signed-off-by: Wentao Guan <[email protected]>1 parent 9c795df commit 71d7925
1 file changed
+4
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
184 | 188 | | |
185 | 189 | | |
186 | 190 | | |
| |||
0 commit comments