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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 74282C25B4E for ; Fri, 20 Jan 2023 10:21:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C0C2F6B0072; Fri, 20 Jan 2023 05:21:27 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B95076B0073; Fri, 20 Jan 2023 05:21:27 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A0E976B0074; Fri, 20 Jan 2023 05:21:27 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 8E02B6B0072 for ; Fri, 20 Jan 2023 05:21:27 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 591F91A0D0C for ; Fri, 20 Jan 2023 10:21:27 +0000 (UTC) X-FDA: 80374785414.29.A6D4675 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by imf19.hostedemail.com (Postfix) with ESMTP id B22B41A0011 for ; Fri, 20 Jan 2023 10:21:24 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GzgldaOp; spf=none (imf19.hostedemail.com: domain of peter.ujfalusi@linux.intel.com has no SPF policy when checking 134.134.136.24) smtp.mailfrom=peter.ujfalusi@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674210085; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=2NCG5RRkKiscQlRRIJSjQQPSLyezUSTTvtUlCrRBVd8=; b=GKwWwI6XXeDldAwYqSxoCWXLVHwk1n65XHR3K7dayYZUGobukBYBYNN+/ifQAe5MXefvl8 UDbEFr/WXxpSSzUnjZ1qTJlyGyN39fDq5c9bcc3YgMjgmZ0bOxJkzbpXXa/KnF3R52PVZ4 mZFBi1c3R+M6XTEqyHe0lFCVIdBy+Ss= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=GzgldaOp; spf=none (imf19.hostedemail.com: domain of peter.ujfalusi@linux.intel.com has no SPF policy when checking 134.134.136.24) smtp.mailfrom=peter.ujfalusi@linux.intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674210085; a=rsa-sha256; cv=none; b=sfNib0bkaCb/aBAXq01Y+ZHz//JJJJ2V6C/l903V/wL0fJ7X7FO+kFDyQUCKTyR3qca0/g WU3QdqDHtWd1oQXRLQBDfrhED/Vq3+r9wmdKe/nxRNxQMbzN/zP0mqG9JpKpRnPrx9hHvH LksP5vlJ/Fdu895X7liuT8rYIiV6/5g= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1674210084; x=1705746084; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=5yxAqjfiGWhzAaV5tb1/aoh4K/2VFkiTET4f2w0RHIU=; b=GzgldaOp+upfqAdso5XbV7FSwzULdHGLjYfEPUBP5nOi6Uvb5bO2SMw0 Yvjzubso2LLB3BW68Zmn1CIA6BXRKXzHmyj4/hnjkn9M2mcScxS65D8zc HEPoZ6JjkHzSZLEf6mAPYrT5gTl1aYSrBWdXNdQeNusF0dAHRJ3q7IiL7 6V3NvNDkk/hwsrRBa45ScuLHij0pWfFGWpy2nq5pZcJRhy/TMscqiIhcK 3r4yvMdSTLQKhPjFFQHKhdust6S1VZEAuvCf9W8gNH8OwFWob19VURsId XWpK1TBaLviHi3u3VaeuYKSvR7CEq1hTWWByuCVtoZbHzFi8LIlKTlNj8 w==; X-IronPort-AV: E=McAfee;i="6500,9779,10595"; a="326827427" X-IronPort-AV: E=Sophos;i="5.97,231,1669104000"; d="scan'208";a="326827427" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jan 2023 02:21:22 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10595"; a="723906651" X-IronPort-AV: E=Sophos;i="5.97,231,1669104000"; d="scan'208";a="723906651" Received: from karenodx-mobl1.ger.corp.intel.com (HELO pujfalus-desk.ger.corp.intel.com) ([10.252.29.156]) by fmsmga008-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jan 2023 02:21:19 -0800 From: Peter Ujfalusi To: lgirdwood@gmail.com, broonie@kernel.org Cc: alsa-devel@alsa-project.org, pierre-louis.bossart@linux.intel.com, ranjani.sridharan@linux.intel.com, kai.vehmanen@linux.intel.com, error27@gmail.com, angelogioacchino.delregno@collabora.com, linux-mm@kvack.org, oe-kbuild-all@lists.linux.dev Subject: [PATCH] ASoC: SOF: sof-audio: prepare_widgets: Check swidget for NULL on sink failure Date: Fri, 20 Jan 2023 12:21:25 +0200 Message-Id: <20230120102125.30653-1-peter.ujfalusi@linux.intel.com> X-Mailer: git-send-email 2.39.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: B22B41A0011 X-Stat-Signature: 73kamy3omzhocjimf1soww3qmugndezw X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1674210084-69411 X-HE-Meta: U2FsdGVkX1+bBu68cGI+MpIdyhyVR+Ifa+YOvF7NX7pTEctGBEAjAZz0YNIoh0kNM9CUYwYPW6Akll4+DEMR3QxNAHPnwB+QXgyc5bRYCNzCggKHU0ZWpGsXbqbL28b1FrwfQ175EUgbHKI7nik5gNZx23RdSeoETzCJSjHE9l5UDYJHUreUmlYC46UWqOQW17elRyZeJu2/EBhWwXepoBwddz4CxWwRgKx+HYJRbtAKPMLIP/ndWD6bMClKRkF5EHB2tqM2KJSmgjbtBPtz0DL97Gk8gcLZWl6qhQcEiw8wJ+1eRstgeC7afdkC9eYZSofvBdMpY+OZKR2+PjLrtQC4tr2cMS5tfnhQmD61FTQ8a0fzionyk6qDX2WyHOH4wy85MfZSsoX5ZhltmRVCirKW4e7YVPdWlNhKnSGBg+RsjT6XWNIrEeF98bX/kXf/33rU03AZIryNuLWE3xT1wUnlzvu+gDxSQr6qRIUmGrlf3wGYp0Jzde6iu2EBSIV4KpgcZ23AGbGxY1d/nx6Wy5+vX7B5waRnIoumYOT+JVEW5sdLNWtLIgoiLGlITXyvDPsRYM/L/Cj9qM5CxQipwSvr14VzdkvckrLtpMMZb2ElhY/FN/vPEnANUslwsZ+GpypswtTqiwGJAy3n5ZCH7u85CCyb7vX1wSAop9s9xdhA6qpeD8m8eSIM/J5uHMLlsGoC1Jprn0OQbe7b+CyAFMlosy/zt6mypKdmODhj5mdbVQakxzYhC4xyuMtJHC8IdnmIuC2smfLvi4Kv9gqHUlPQDBKejs8rXHA5qGbcCruk1PonZ62d445cG7g7mXOIlZ+6+0CCL+xl99F2ihCm3k1TYs/l9yOrLsbF+ostdV3wflGvzTH8es2QutJ2IbH1np7hQm99yH7Sk4emsnxFem7avtziVJ/rd8AzIP25vUpsBP8zwlfRNXJTIGRkjcB7wnAtE7D9e2ksDCQ0wXq Ycqwv33A 5NMj2mN/K/aIrB41iAFJCi1Xe5bk5OGDCZftD9HZFqbuWnHxNjw4D5LA6Id7neNsP80YfVnqBXvpxb5vwavJcGSSm58hXMOq38Uo0eyFulFI5je0YdQd8SFra7KXxcf/yBInj8hVAuItQxy6EQIr8i11XAiRUV/2zqgRjUJCB+BjhkxOqQQ5O3u1Z/ANGqu+8JBYbc4/uiPukZbewWBPxVvGfGmr162L6jZSy X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: If the swidget is NULL we skip the preparing of the widget and jump to handle the sink path of the widget. If the prepare fails in this case we would undo the prepare but the swidget is NULL (we skipped the prepare for the widget). To avoid NULL pointer dereference in this case we must check swidget against NULL pointer once again. Fixes: 0ad84b11f2f8 ("ASoC: SOF: sof-audio: skip prepare/unprepare if swidget is NULL") Reported-by: kernel test robot Reported-by: Dan Carpenter Signed-off-by: Peter Ujfalusi --- sound/soc/sof/sof-audio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/soc/sof/sof-audio.c b/sound/soc/sof/sof-audio.c index f17d405a9da9..2dff3ae25d27 100644 --- a/sound/soc/sof/sof-audio.c +++ b/sound/soc/sof/sof-audio.c @@ -334,7 +334,8 @@ sof_prepare_widgets_in_path(struct snd_sof_dev *sdev, struct snd_soc_dapm_widget p->walking = false; if (ret < 0) { /* unprepare the source widget */ - if (widget_ops[widget->id].ipc_unprepare && swidget->prepared) { + if (widget_ops[widget->id].ipc_unprepare && + swidget && swidget->prepared) { widget_ops[widget->id].ipc_unprepare(swidget); swidget->prepared = false; } -- 2.39.0