[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