ASoC: soc-pcm.c: Add NULL check in BE reparenting

Message ID 1669035895-12036-1-git-send-email-quic_srivasam@quicinc.com
State New
Headers
Series ASoC: soc-pcm.c: Add NULL check in BE reparenting |

Commit Message

Srinivasa Rao Mandadapu Nov. 21, 2022, 1:04 p.m. UTC
  Add NULL check in dpcm_be_reparent API, to handle
kernel NULL pointer dereference error.

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
---
 sound/soc/soc-pcm.c | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Cezary Rojewski Nov. 21, 2022, 2:30 p.m. UTC | #1
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 <quic_srivasam@quicinc.com>
> ---
>   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
  

Patch

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)