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@xxxxxxxxxxx>
---
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