From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 106C93DCD96; Wed, 20 May 2026 18:07:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779300479; cv=none; b=rsFM30eRwDD+skvvUSOV2G7nP6PVkqLI4rSwCkSblhk9W5bJPvuao3dr2/xjiZdqWyS+pHCkSC3pPPHza1wp1nAcfK69/poLNfqM6yt3aPemP6xNeITsb/bGfysCw1qIhSR9hsL0EK6eXV11d1niB8PQkN48wYG66J2noODQ/pA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779300479; c=relaxed/simple; bh=kfqlA85cFlSUhRM2dLeKE+nIv0ZmVabeUvx0puGhkgM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fRQxBwYDeyLL7rKRc4sYVQOlIKcM84AztwlhtL4FzliduNgF54WqMq44HL96mzjWDrdXTo4LQlhNZbjjwPWYAJHBxXzgu5fNz+iZzrDcNLq3tVWsXFPerHwhQh/6ORpoU/frS9TkDjJsfDFVtFhjzD8l0wIL34d7EjuXBDyvf0s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=hnP8Z7pt; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="hnP8Z7pt" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 76D2B1F000E9; Wed, 20 May 2026 18:07:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxfoundation.org; s=korg; t=1779300478; bh=hbwwRDZTt8pFwKjngXT+sM9n5A9KjGxHZN3WBnOr6Pc=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=hnP8Z7ptyfvgbvjV44g9lyF2mhcye8OtEgLXfd/YZWq2JBO4FIFREaufYAgEISq6P +qT8MuVqbPJrzW7GlwGQ8pYb+LYxaHTHYrvNNTf9gm50Va5zJ+gWGqTYo61Hmr0/j0 J9j2C13ENPdGebQeZfNSr96BnGHFUXdJ3Zy8ZLgE= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Ethan Tidmore , Mark Brown , Sasha Levin Subject: [PATCH 6.12 190/666] ASoC: SOF: Intel: hda: Place check before dereference Date: Wed, 20 May 2026 18:16:41 +0200 Message-ID: <20260520162115.320135280@linuxfoundation.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520162111.222830634@linuxfoundation.org> References: <20260520162111.222830634@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.12-stable review patch. If anyone has any objections, please let me know. ------------------ From: Ethan Tidmore [ Upstream commit 6cbc8360f51a3df2ea16a786b262b9fe44d4c68c ] The struct hext_stream is dereferenced before it is checked for NULL. Although it can never be NULL due to a check prior to hda_dsp_iccmax_stream_hw_params() being called, this change clears any confusion regarding hext_stream possibly being NULL. Check hext_stream for NULL and then assign its members. Detected by Smatch: sound/soc/sof/intel/hda-stream.c:488 hda_dsp_iccmax_stream_hw_params() warn: variable dereferenced before check 'hext_stream' (see line 486) Fixes: aca961f196e5d ("ASoC: SOF: Intel: hda: Add helper function to program ICCMAX stream") Signed-off-by: Ethan Tidmore Link: https://patch.msgid.link/20260324173830.17563-1-ethantidmore06@gmail.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/sof/intel/hda-stream.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sound/soc/sof/intel/hda-stream.c b/sound/soc/sof/intel/hda-stream.c index 2be0d02f9cf9b..d6a0e78b5ce73 100644 --- a/sound/soc/sof/intel/hda-stream.c +++ b/sound/soc/sof/intel/hda-stream.c @@ -419,16 +419,20 @@ int hda_dsp_iccmax_stream_hw_params(struct snd_sof_dev *sdev, struct hdac_ext_st struct snd_dma_buffer *dmab, struct snd_pcm_hw_params *params) { - struct hdac_stream *hstream = &hext_stream->hstream; - int sd_offset = SOF_STREAM_SD_OFFSET(hstream); + struct hdac_stream *hstream; + int sd_offset; int ret; - u32 mask = 0x1 << hstream->index; + u32 mask; if (!hext_stream) { dev_err(sdev->dev, "error: no stream available\n"); return -ENODEV; } + hstream = &hext_stream->hstream; + sd_offset = SOF_STREAM_SD_OFFSET(hstream); + mask = 0x1 << hstream->index; + if (!dmab) { dev_err(sdev->dev, "error: no dma buffer allocated!\n"); return -ENODEV; -- 2.53.0