All of lore.kernel.org
 help / color / mirror / Atom feed
From: hariconscious@gmail.com
To: perex@perex.cz, tiwai@suse.com, cristian.ciocaltea@collabora.com,
	cryolitia@uniontech.com, franta-linux@frantovo.cz
Cc: khalid@kernel.org, shuah@kernel.org,
	david.hunter.linux@gmail.com, linux-sound@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	HariKrishna Sagala <hariconscious@gmail.com>
Subject: [PATCH] ALSA: usb-audio: Initialize status1 to fix uninitialized symbol errors
Date: Wed,  3 Dec 2025 14:03:20 +0530	[thread overview]
Message-ID: <20251203083319.58555-2-hariconscious@gmail.com> (raw)

From: HariKrishna Sagala <hariconscious@gmail.com>

Initialize 'status1' with a default value to resolve the static analysis
smatch reported error "uninitialized symbol 'status1'".
The 'status1' variable is used to create a buff using "kmemdup".
So, ensure to initialize the value before it is read.

Signed-off-by: HariKrishna Sagala <hariconscious@gmail.com>
---
This patch fixes the below smatch reported errors.
sound/usb/mixer_quirks.c:2462 snd_rme_rate_get() error: uninitialized symbol 'status1'.
sound/usb/mixer_quirks.c:2467 snd_rme_rate_get() error: uninitialized symbol 'status1'.
sound/usb/mixer_quirks.c:2472 snd_rme_rate_get() error: uninitialized symbol 'status1'.
sound/usb/mixer_quirks.c:2495 snd_rme_sync_state_get() error: uninitialized symbol 'status1'.
sound/usb/mixer_quirks.c:2501 snd_rme_sync_state_get() error: uninitialized symbol 'status1'.
sound/usb/mixer_quirks.c:2522 snd_rme_spdif_if_get() error: uninitialized symbol 'status1'.
sound/usb/mixer_quirks.c:2535 snd_rme_spdif_format_get() error: uninitialized symbol 'status1'.
sound/usb/mixer_quirks.c:2548 snd_rme_sync_source_get() error: uninitialized symbol 'status1'.

The below is the flow of 'status1' it is used before initialization.

snd_rme_rate_get -> status1 is uninitialized and passed
	snd_rme_get_status1 -> passed as is
		snd_rme_read_value -> passed as is
			snd_usb_ctl_msg -> created buf from status1 using kmemdup
				usb_control_msg -> sent buf for reading/writing

Description of "usb_control_msg", states as
" * @data: pointer to the data to send"

Later from Usb control request, dst buf is copied to src buf but usb
control msg request is made before initialization.

Thank you.

 sound/usb/mixer_quirks.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/sound/usb/mixer_quirks.c b/sound/usb/mixer_quirks.c
index 828af3095b86..06903c5de087 100644
--- a/sound/usb/mixer_quirks.c
+++ b/sound/usb/mixer_quirks.c
@@ -2449,7 +2449,7 @@ static int snd_rme_get_status1(struct snd_kcontrol *kcontrol,
 static int snd_rme_rate_get(struct snd_kcontrol *kcontrol,
 			    struct snd_ctl_elem_value *ucontrol)
 {
-	u32 status1;
+	u32 status1 = 0;
 	u32 rate = 0;
 	int idx;
 	int err;
@@ -2483,7 +2483,7 @@ static int snd_rme_rate_get(struct snd_kcontrol *kcontrol,
 static int snd_rme_sync_state_get(struct snd_kcontrol *kcontrol,
 				  struct snd_ctl_elem_value *ucontrol)
 {
-	u32 status1;
+	u32 status1 = 0;
 	int idx = SND_RME_CLOCK_NOLOCK;
 	int err;
 
@@ -2513,7 +2513,7 @@ static int snd_rme_sync_state_get(struct snd_kcontrol *kcontrol,
 static int snd_rme_spdif_if_get(struct snd_kcontrol *kcontrol,
 				struct snd_ctl_elem_value *ucontrol)
 {
-	u32 status1;
+	u32 status1 = 0;
 	int err;
 
 	err = snd_rme_get_status1(kcontrol, &status1);
@@ -2526,7 +2526,7 @@ static int snd_rme_spdif_if_get(struct snd_kcontrol *kcontrol,
 static int snd_rme_spdif_format_get(struct snd_kcontrol *kcontrol,
 				    struct snd_ctl_elem_value *ucontrol)
 {
-	u32 status1;
+	u32 status1 = 0;
 	int err;
 
 	err = snd_rme_get_status1(kcontrol, &status1);
@@ -2539,7 +2539,7 @@ static int snd_rme_spdif_format_get(struct snd_kcontrol *kcontrol,
 static int snd_rme_sync_source_get(struct snd_kcontrol *kcontrol,
 				   struct snd_ctl_elem_value *ucontrol)
 {
-	u32 status1;
+	u32 status1 = 0;
 	int err;
 
 	err = snd_rme_get_status1(kcontrol, &status1);

base-commit: 4a26e7032d7d57c998598c08a034872d6f0d3945
-- 
2.43.0


             reply	other threads:[~2025-12-03  8:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-03  8:33 hariconscious [this message]
2025-12-03  8:56 ` [PATCH] ALSA: usb-audio: Initialize status1 to fix uninitialized symbol errors Takashi Iwai
2025-12-03 11:01   ` HariKrishna Sagala
2025-12-03 11:09     ` Takashi Iwai
2025-12-03 11:22       ` HariKrishna Sagala
2025-12-03 11:50         ` Takashi Iwai
2025-12-03 12:01           ` HariKrishna Sagala
2025-12-03 12:54             ` Takashi Iwai
2025-12-03 13:34               ` HariKrishna Sagala

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251203083319.58555-2-hariconscious@gmail.com \
    --to=hariconscious@gmail.com \
    --cc=cristian.ciocaltea@collabora.com \
    --cc=cryolitia@uniontech.com \
    --cc=david.hunter.linux@gmail.com \
    --cc=franta-linux@frantovo.cz \
    --cc=khalid@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=shuah@kernel.org \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.