Skip to content

Commit 71d7925

Browse files
Denis Arefevopsiff
authored andcommitted
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

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

sound/pci/hda/hda_component.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,10 @@ int hda_component_manager_init(struct hda_codec *cdc,
181181
sm->match_str = match_str;
182182
sm->index = i;
183183
component_match_add(dev, &match, hda_comp_match_dev_name, sm);
184+
if (IS_ERR(match)) {
185+
codec_err(cdc, "Fail to add component %ld\n", PTR_ERR(match));
186+
return PTR_ERR(match);
187+
}
184188
}
185189

186190
ret = component_master_add_with_match(dev, ops, match);

0 commit comments

Comments
 (0)