From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4BCCCC433EF for ; Mon, 17 Jan 2022 17:01:44 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 6D0EF1890; Mon, 17 Jan 2022 18:00:52 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 6D0EF1890 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1642438902; bh=L5fMBsQ4GFTUWDax+L1PtBdZ0vB16WfrrFYjYR1GER4=; h=From:To:Subject:Date:In-Reply-To:References:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=EYZtxyNCSjj7PHc2i2Gkr6v067hFd7QrfrLO5EfX3k8I6je0yZqUNOyPWPExdNlWY b0xsYbF1dHV3p5zRcMQx+6MStXsivbxGXB3TvqTIQrhmrcGM66iMYBbRqipgHLHguE JTieyMciYnvHeyLtFYQjFdHwLy2eqrAoSuQOuUC0= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 1B35FF8014B; Mon, 17 Jan 2022 18:00:42 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id D173AF80249; Mon, 17 Jan 2022 18:00:40 +0100 (CET) Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 8CDE7F80515; Mon, 17 Jan 2022 18:00:33 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 8CDE7F80515 Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="c7jI1Ia6" Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 9250C611C0; Mon, 17 Jan 2022 17:00:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6FA8C36AE7; Mon, 17 Jan 2022 17:00:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1642438831; bh=L5fMBsQ4GFTUWDax+L1PtBdZ0vB16WfrrFYjYR1GER4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c7jI1Ia6bczbyFVopt/bG+gLCDOU+MocDsP74/x54DeZwWES3hD2XVk4Zc8wfeYUc sUYzq2upNamnlcSTuvba+oWp6HzEzForKtpulxYS9nernkl4200NQUbkBclnQJhY0J 9FXhNsbURzU7rgijV6C482VpV0TWTyVUuZWGS/TzC7L0tNDtnq6ywQFoGOXbL1qCzM ni3nnwmkoTGSk+2hOcodcsgBDR8RWKElq6n+F36RWRqFEBCOH6inu+IrSPb7z7B2bd cUcjjopr+KXpvxBBz6c1GT5xQN0VKLTnuQiEyRAa3jnxiElpDC1HJCLmsYhAQe/IsO Q6LIAihaG/tUg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: [PATCH AUTOSEL 5.16 38/52] ASoC: SOF: ipc: Add null pointer check for substream->runtime Date: Mon, 17 Jan 2022 11:58:39 -0500 Message-Id: <20220117165853.1470420-38-sashal@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220117165853.1470420-1-sashal@kernel.org> References: <20220117165853.1470420-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Cc: Sasha Levin , Pierre-Louis Bossart , alsa-devel@alsa-project.org, kai.vehmanen@linux.intel.com, Ajit Kumar Pandey , tiwai@suse.com, lgirdwood@gmail.com, Ranjani Sridharan , Mark Brown , daniel.baluta@nxp.com, sound-open-firmware@alsa-project.org X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" From: Ajit Kumar Pandey [ Upstream commit 182b682b9ab1348e07ea1bf9d8f2505cc67f9237 ] When pcm stream is stopped "substream->runtime" pointer will be set to NULL by ALSA core. In case host received an ipc msg from firmware of type IPC_STREAM_POSITION after pcm stream is stopped, there will be kernel NULL pointer exception in ipc_period_elapsed(). This patch fixes it by adding NULL pointer check for "substream->runtime". Reviewed-by: Ranjani Sridharan Signed-off-by: Ajit Kumar Pandey Signed-off-by: Pierre-Louis Bossart Link: https://lore.kernel.org/r/20211216232422.345164-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/sof/ipc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/soc/sof/ipc.c b/sound/soc/sof/ipc.c index e6c53c6c470e4..ca30c506a0fd6 100644 --- a/sound/soc/sof/ipc.c +++ b/sound/soc/sof/ipc.c @@ -547,7 +547,8 @@ static void ipc_period_elapsed(struct snd_sof_dev *sdev, u32 msg_id) if (spcm->pcm.compress) snd_sof_compr_fragment_elapsed(stream->cstream); - else if (!stream->substream->runtime->no_period_wakeup) + else if (stream->substream->runtime && + !stream->substream->runtime->no_period_wakeup) /* only inform ALSA for period_wakeup mode */ snd_sof_pcm_period_elapsed(stream->substream); } -- 2.34.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8886C43217 for ; Mon, 17 Jan 2022 17:01:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241274AbiAQRBY (ORCPT ); Mon, 17 Jan 2022 12:01:24 -0500 Received: from ams.source.kernel.org ([145.40.68.75]:48360 "EHLO ams.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241692AbiAQRAd (ORCPT ); Mon, 17 Jan 2022 12:00:33 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 4BC91B81136; Mon, 17 Jan 2022 17:00:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6FA8C36AE7; Mon, 17 Jan 2022 17:00:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1642438831; bh=L5fMBsQ4GFTUWDax+L1PtBdZ0vB16WfrrFYjYR1GER4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c7jI1Ia6bczbyFVopt/bG+gLCDOU+MocDsP74/x54DeZwWES3hD2XVk4Zc8wfeYUc sUYzq2upNamnlcSTuvba+oWp6HzEzForKtpulxYS9nernkl4200NQUbkBclnQJhY0J 9FXhNsbURzU7rgijV6C482VpV0TWTyVUuZWGS/TzC7L0tNDtnq6ywQFoGOXbL1qCzM ni3nnwmkoTGSk+2hOcodcsgBDR8RWKElq6n+F36RWRqFEBCOH6inu+IrSPb7z7B2bd cUcjjopr+KXpvxBBz6c1GT5xQN0VKLTnuQiEyRAa3jnxiElpDC1HJCLmsYhAQe/IsO Q6LIAihaG/tUg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ajit Kumar Pandey , Ranjani Sridharan , Pierre-Louis Bossart , Mark Brown , Sasha Levin , lgirdwood@gmail.com, kai.vehmanen@linux.intel.com, daniel.baluta@nxp.com, perex@perex.cz, tiwai@suse.com, sound-open-firmware@alsa-project.org, alsa-devel@alsa-project.org Subject: [PATCH AUTOSEL 5.16 38/52] ASoC: SOF: ipc: Add null pointer check for substream->runtime Date: Mon, 17 Jan 2022 11:58:39 -0500 Message-Id: <20220117165853.1470420-38-sashal@kernel.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220117165853.1470420-1-sashal@kernel.org> References: <20220117165853.1470420-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ajit Kumar Pandey [ Upstream commit 182b682b9ab1348e07ea1bf9d8f2505cc67f9237 ] When pcm stream is stopped "substream->runtime" pointer will be set to NULL by ALSA core. In case host received an ipc msg from firmware of type IPC_STREAM_POSITION after pcm stream is stopped, there will be kernel NULL pointer exception in ipc_period_elapsed(). This patch fixes it by adding NULL pointer check for "substream->runtime". Reviewed-by: Ranjani Sridharan Signed-off-by: Ajit Kumar Pandey Signed-off-by: Pierre-Louis Bossart Link: https://lore.kernel.org/r/20211216232422.345164-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/sof/ipc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/soc/sof/ipc.c b/sound/soc/sof/ipc.c index e6c53c6c470e4..ca30c506a0fd6 100644 --- a/sound/soc/sof/ipc.c +++ b/sound/soc/sof/ipc.c @@ -547,7 +547,8 @@ static void ipc_period_elapsed(struct snd_sof_dev *sdev, u32 msg_id) if (spcm->pcm.compress) snd_sof_compr_fragment_elapsed(stream->cstream); - else if (!stream->substream->runtime->no_period_wakeup) + else if (stream->substream->runtime && + !stream->substream->runtime->no_period_wakeup) /* only inform ALSA for period_wakeup mode */ snd_sof_pcm_period_elapsed(stream->substream); } -- 2.34.1