[PATCH v2] ASoC: soc-pcm: Add NULL check in BE reparenting

Cezary Rojewski cezary.rojewski at intel.com
Wed Nov 23 10:16:40 CET 2022


On 2022-11-22 7:31 AM, Srinivasa Rao Mandadapu wrote:
> Add NULL check in dpcm_be_reparent API, to handle
> kernel NULL pointer dereference error.
> The issue occurred in fuzzing test.
> 
> Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam at quicinc.com>
> ---
> Changes Since V1:
>      -- Update commit title.
> 
>   sound/soc/soc-pcm.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
> index 493f003..a7810c7 100644
> --- a/sound/soc/soc-pcm.c
> +++ b/sound/soc/soc-pcm.c
> @@ -1247,6 +1247,8 @@ static void dpcm_be_reparent(struct snd_soc_pcm_runtime *fe,
>   		return;
>   
>   	be_substream = snd_soc_dpcm_get_substream(be, stream);
> +	if (!be_substream)
> +		return;
>   
>   	for_each_dpcm_fe(be, stream, dpcm) {
>   		if (dpcm->fe == fe)

The explanation provided is hardly satisfactory. The reason I asked, is 
that be_substream should never be null by the time we get to 
dpcm_be_reparent(). There is a number of invocations of 
snd_soc_dpcm_get_substream() within sound/soc/*.c and yet most of them 
are not checked - as they do not need to be.

I believe that the problem may lie elsewhere and this patch just covered 
things up.


Regards,
Czarek


More information about the Alsa-devel mailing list