[lvc-project] [PATCH v2] ALSA: hda: Fix missing pointer check in hda_component_manager_init function
Takashi Iwai
tiwai at suse.de
Sat Oct 11 09:30:43 MSK 2025
On Thu, 09 Oct 2025 12:50:47 +0200,
Denis Arefev wrote:
>
> 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: ae7abe36e352 ("ALSA: hda/realtek: Add CS35L41 support for Thinkpad laptops")
> Cc: stable at vger.kernel.org
> Signed-off-by: Denis Arefev <arefev at swemel.ru>
> ---
> V1 -> V2:
> Changed tag Fixes
> Add print to log an error it as Stefan Binding <sbinding at opensource.cirrus.com> suggested
Applied now. Thanks.
Takashi
More information about the lvc-project
mailing list