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