summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSrinivasa Rao Mandadapu <quic_srivasam@quicinc.com>2022-11-22 12:01:13 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-12-14 11:26:12 +0100
commitd4dd21a79dbb862d2ebcf9ed90e646416009ff0d (patch)
tree4cae9ac44536b2c439e4fb0f75dd5875ac4f4e4c
parente385360705a0b346bdb57ce938249175d0613b8a (diff)
downloadomap-d4dd21a79dbb862d2ebcf9ed90e646416009ff0d.tar.gz
ASoC: soc-pcm: Add NULL check in BE reparenting
[ Upstream commit db8f91d424fe0ea6db337aca8bc05908bbce1498 ] 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> Link: https://lore.kernel.org/r/1669098673-29703-1-git-send-email-quic_srivasam@quicinc.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--sound/soc/soc-pcm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index e995e96ab903..3a9c875534c1 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -1168,6 +1168,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;
list_for_each_entry(dpcm, &be->dpcm[stream].fe_clients, list_fe) {
if (dpcm->fe == fe)