2022-11-21 14:04:16

by Srinivasa Rao Mandadapu

[permalink] [raw]
Subject: [PATCH] ASoC: soc-pcm.c: Add NULL check in BE reparenting

Add NULL check in dpcm_be_reparent API, to handle
kernel NULL pointer dereference error.

Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
---
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)
--
2.7.4



2022-11-21 14:33:25

by Cezary Rojewski

[permalink] [raw]
Subject: Re: [PATCH] ASoC: soc-pcm.c: Add NULL check in BE reparenting

On 2022-11-21 2:04 PM, Srinivasa Rao Mandadapu wrote:
> Add NULL check in dpcm_be_reparent API, to handle
> kernel NULL pointer dereference error.
>
> Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
> ---
> 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)


Hello,

Could you provide reproduction steps that lead to null-ptr-deref popping
up? Also, please drop '.c' in commit title.


Regards,
Czarek