* [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning.
@ 2024-02-13 8:51 Aiswarya Cyriac
2024-02-13 9:02 ` Takashi Iwai
2024-02-13 9:06 ` Michael S. Tsirkin
0 siblings, 2 replies; 10+ messages in thread
From: Aiswarya Cyriac @ 2024-02-13 8:51 UTC (permalink / raw)
To: mst, jasowang, perex, tiwai, linux-kernel, alsa-devel,
virtualization, virtio-dev
Cc: Aiswarya Cyriac, Anton Yakovlev, coverity-bot
Fix the following warning when building virtio_snd driver.
"
*** CID 1583619: Uninitialized variables (UNINIT)
sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op()
288
289 break;
290 }
291
292 kfree(tlv);
293
vvv CID 1583619: Uninitialized variables (UNINIT)
vvv Using uninitialized value "rc".
294 return rc;
295 }
296
297 /**
298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type.
299 * @snd: VirtIO sound device.
"
Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com>
Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com>
Reported-by: coverity-bot <keescook+coverity-bot@chromium.org>
Addresses-Coverity-ID: 1583619 ("Uninitialized variables")
Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls")
---
sound/virtio/virtio_kctl.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sound/virtio/virtio_kctl.c b/sound/virtio/virtio_kctl.c
index 0c6ac74aca1e..d7a160c5db03 100644
--- a/sound/virtio/virtio_kctl.c
+++ b/sound/virtio/virtio_kctl.c
@@ -286,6 +286,11 @@ static int virtsnd_kctl_tlv_op(struct snd_kcontrol *kcontrol, int op_flag,
else
rc = virtsnd_ctl_msg_send(snd, msg, &sg, NULL, false);
+ break;
+ default:
+ virtsnd_ctl_msg_unref(msg);
+ rc = -EINVAL;
+
break;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. 2024-02-13 8:51 [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning Aiswarya Cyriac @ 2024-02-13 9:02 ` Takashi Iwai 2024-02-13 9:07 ` Michael S. Tsirkin 2024-02-13 9:06 ` Michael S. Tsirkin 1 sibling, 1 reply; 10+ messages in thread From: Takashi Iwai @ 2024-02-13 9:02 UTC (permalink / raw) To: Aiswarya Cyriac Cc: mst, jasowang, perex, tiwai, linux-kernel, alsa-devel, virtualization, virtio-dev, Anton Yakovlev, coverity-bot On Tue, 13 Feb 2024 09:51:30 +0100, Aiswarya Cyriac wrote: > > Fix the following warning when building virtio_snd driver. > > " > *** CID 1583619: Uninitialized variables (UNINIT) > sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op() > 288 > 289 break; > 290 } > 291 > 292 kfree(tlv); > 293 > vvv CID 1583619: Uninitialized variables (UNINIT) > vvv Using uninitialized value "rc". > 294 return rc; > 295 } > 296 > 297 /** > 298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type. > 299 * @snd: VirtIO sound device. > " > > Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> > Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> > Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> > Addresses-Coverity-ID: 1583619 ("Uninitialized variables") > Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls") Thanks, applied. Takashi ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. 2024-02-13 9:02 ` Takashi Iwai @ 2024-02-13 9:07 ` Michael S. Tsirkin 2024-02-13 9:42 ` Takashi Iwai 0 siblings, 1 reply; 10+ messages in thread From: Michael S. Tsirkin @ 2024-02-13 9:07 UTC (permalink / raw) To: Takashi Iwai Cc: Aiswarya Cyriac, jasowang, perex, tiwai, linux-kernel, alsa-devel, virtualization, virtio-dev, Anton Yakovlev, coverity-bot On Tue, Feb 13, 2024 at 10:02:24AM +0100, Takashi Iwai wrote: > On Tue, 13 Feb 2024 09:51:30 +0100, > Aiswarya Cyriac wrote: > > > > Fix the following warning when building virtio_snd driver. > > > > " > > *** CID 1583619: Uninitialized variables (UNINIT) > > sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op() > > 288 > > 289 break; > > 290 } > > 291 > > 292 kfree(tlv); > > 293 > > vvv CID 1583619: Uninitialized variables (UNINIT) > > vvv Using uninitialized value "rc". > > 294 return rc; > > 295 } > > 296 > > 297 /** > > 298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type. > > 299 * @snd: VirtIO sound device. > > " > > > > Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> > > Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> > > Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> > > Addresses-Coverity-ID: 1583619 ("Uninitialized variables") > > Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls") > > Thanks, applied. > > > Takashi Why did you apply it directly? The patch isn't great IMHO. Why not give people a couple of days to review? -- MST ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. 2024-02-13 9:07 ` Michael S. Tsirkin @ 2024-02-13 9:42 ` Takashi Iwai 0 siblings, 0 replies; 10+ messages in thread From: Takashi Iwai @ 2024-02-13 9:42 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Aiswarya Cyriac, jasowang, perex, tiwai, linux-kernel, alsa-devel, virtualization, virtio-dev, Anton Yakovlev, coverity-bot On Tue, 13 Feb 2024 10:07:35 +0100, Michael S. Tsirkin wrote: > > On Tue, Feb 13, 2024 at 10:02:24AM +0100, Takashi Iwai wrote: > > On Tue, 13 Feb 2024 09:51:30 +0100, > > Aiswarya Cyriac wrote: > > > > > > Fix the following warning when building virtio_snd driver. > > > > > > " > > > *** CID 1583619: Uninitialized variables (UNINIT) > > > sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op() > > > 288 > > > 289 break; > > > 290 } > > > 291 > > > 292 kfree(tlv); > > > 293 > > > vvv CID 1583619: Uninitialized variables (UNINIT) > > > vvv Using uninitialized value "rc". > > > 294 return rc; > > > 295 } > > > 296 > > > 297 /** > > > 298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type. > > > 299 * @snd: VirtIO sound device. > > > " > > > > > > Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> > > > Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> > > > Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> > > > Addresses-Coverity-ID: 1583619 ("Uninitialized variables") > > > Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls") > > > > Thanks, applied. > > > > > > Takashi > > Why did you apply it directly? The patch isn't great IMHO. > Why not give people a couple of days to review? Sure, we can wait. I applied it quickly just since it's an obvious fix and you haven't responded to the original patch over a month. thanks, Takashi ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. 2024-02-13 8:51 [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning Aiswarya Cyriac 2024-02-13 9:02 ` Takashi Iwai @ 2024-02-13 9:06 ` Michael S. Tsirkin 2024-02-14 9:08 ` Aiswarya Cyriac 1 sibling, 1 reply; 10+ messages in thread From: Michael S. Tsirkin @ 2024-02-13 9:06 UTC (permalink / raw) To: Aiswarya Cyriac Cc: jasowang, perex, tiwai, linux-kernel, alsa-devel, virtualization, virtio-dev, Anton Yakovlev, coverity-bot On Tue, Feb 13, 2024 at 09:51:30AM +0100, Aiswarya Cyriac wrote: > Fix the following warning when building virtio_snd driver. > > " > *** CID 1583619: Uninitialized variables (UNINIT) > sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op() > 288 > 289 break; > 290 } > 291 > 292 kfree(tlv); > 293 > vvv CID 1583619: Uninitialized variables (UNINIT) > vvv Using uninitialized value "rc". > 294 return rc; > 295 } > 296 > 297 /** > 298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type. > 299 * @snd: VirtIO sound device. > " > > Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> > Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> > Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> > Addresses-Coverity-ID: 1583619 ("Uninitialized variables") > Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls") I don't know enough about ALSA to say whether the patch is correct. But the commit log needs work: please, do not "fix warnings" - analyse the code and explain whether there is a real issue and if yes what is it and how it can trigger. Is an invalid op_flag ever passed? If it's just a coverity false positive it might be ok to work around that but document this. > --- > sound/virtio/virtio_kctl.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/sound/virtio/virtio_kctl.c b/sound/virtio/virtio_kctl.c > index 0c6ac74aca1e..d7a160c5db03 100644 > --- a/sound/virtio/virtio_kctl.c > +++ b/sound/virtio/virtio_kctl.c > @@ -286,6 +286,11 @@ static int virtsnd_kctl_tlv_op(struct snd_kcontrol *kcontrol, int op_flag, > else > rc = virtsnd_ctl_msg_send(snd, msg, &sg, NULL, false); > > + break; > + default: > + virtsnd_ctl_msg_unref(msg); > + rc = -EINVAL; > + There's already virtsnd_ctl_msg_unref call above. Also don't we need virtsnd_ctl_msg_unref on other error paths such as EFAULT? Unify error handling to fix it all then? > break; > } > > -- > 2.43.0 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. 2024-02-13 9:06 ` Michael S. Tsirkin @ 2024-02-14 9:08 ` Aiswarya Cyriac 2024-02-14 11:30 ` Michael S. Tsirkin 0 siblings, 1 reply; 10+ messages in thread From: Aiswarya Cyriac @ 2024-02-14 9:08 UTC (permalink / raw) To: Michael S. Tsirkin Cc: jasowang@redhat.com, perex@perex.cz, tiwai@suse.com, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, virtualization@lists.linux-foundation.org, virtio-dev@lists.oasis-open.org, Anton Yakovlev, coverity-bot, Mikhail Golubev-Ciuchea Hi Michael, Thank you for reviewing. I have updated my response inline On Tue, Feb 13, 2024 at 09:51:30AM +0100, Aiswarya Cyriac wrote: >> Fix the following warning when building virtio_snd driver. >> >> " >> *** CID 1583619: Uninitialized variables (UNINIT) >> sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op() >> 288 >> 289 break; >> 290 } >> 291 >> 292 kfree(tlv); >> 293 >> vvv CID 1583619: Uninitialized variables (UNINIT) >> vvv Using uninitialized value "rc". >> 294 return rc; >> 295 } >> 296 >> 297 /** >> 298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type. >> 299 * @snd: VirtIO sound device. >> " >> >> Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> >> Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> >> Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> >> Addresses-Coverity-ID: 1583619 ("Uninitialized variables") >> Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls") >I don't know enough about ALSA to say whether the patch is correct. But >the commit log needs work: please, do not "fix warnings" - analyse the >code and explain whether there is a real issue and if yes what is it >and how it can trigger. Is an invalid op_flag ever passed? >If it's just a coverity false positive it might be ok to >work around that but document this. This warning is caused by the absence of the "default" branch in the switch-block, and is a false positive because the kernel calls virtsnd_kctl_tlv_op() only with values for op_flag processed in this block. I will update the fix and send a v2 patch >> --- >> sound/virtio/virtio_kctl.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/sound/virtio/virtio_kctl.c b/sound/virtio/virtio_kctl.c >> index 0c6ac74aca1e..d7a160c5db03 100644 >> --- a/sound/virtio/virtio_kctl.c >> +++ b/sound/virtio/virtio_kctl.c >> @@ -286,6 +286,11 @@ static int virtsnd_kctl_tlv_op(struct snd_kcontrol *kcontrol, int op_flag, >> else >> rc = virtsnd_ctl_msg_send(snd, msg, &sg, NULL, false); >> >> + break; >> + default: >> + virtsnd_ctl_msg_unref(msg); >> + rc = -EINVAL; >> + >There's already virtsnd_ctl_msg_unref call above. >Also don't we need virtsnd_ctl_msg_unref on other error paths >such as EFAULT? >Unify error handling to fix it all then? This also need to be handled and virtsnd_ctl_msg_unref needed in case of EFAULT as well. I will update the patch. Thanks, Aiswarya Cyriac Software Engineer OpenSynergy GmbH Rotherstr. 20, 10245 Berlin EMail: aiswarya.cyriac@opensynergy.com www.opensynergy.com Handelsregister/Commercial Registry: Amtsgericht Charlottenburg, HRB 108616B Geschäftsführer/Managing Director: Régis Adjamah ________________________________________ From: Michael S. Tsirkin <mst@redhat.com> Sent: Tuesday, February 13, 2024 10:06 AM To: Aiswarya Cyriac Cc: jasowang@redhat.com; perex@perex.cz; tiwai@suse.com; linux-kernel@vger.kernel.org; alsa-devel@alsa-project.org; virtualization@lists.linux-foundation.org; virtio-dev@lists.oasis-open.org; Anton Yakovlev; coverity-bot Subject: Re: [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. On Tue, Feb 13, 2024 at 09:51:30AM +0100, Aiswarya Cyriac wrote: > Fix the following warning when building virtio_snd driver. > > " > *** CID 1583619: Uninitialized variables (UNINIT) > sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op() > 288 > 289 break; > 290 } > 291 > 292 kfree(tlv); > 293 > vvv CID 1583619: Uninitialized variables (UNINIT) > vvv Using uninitialized value "rc". > 294 return rc; > 295 } > 296 > 297 /** > 298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type. > 299 * @snd: VirtIO sound device. > " > > Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> > Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> > Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> > Addresses-Coverity-ID: 1583619 ("Uninitialized variables") > Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls") I don't know enough about ALSA to say whether the patch is correct. But the commit log needs work: please, do not "fix warnings" - analyse the code and explain whether there is a real issue and if yes what is it and how it can trigger. Is an invalid op_flag ever passed? If it's just a coverity false positive it might be ok to work around that but document this. > --- > sound/virtio/virtio_kctl.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/sound/virtio/virtio_kctl.c b/sound/virtio/virtio_kctl.c > index 0c6ac74aca1e..d7a160c5db03 100644 > --- a/sound/virtio/virtio_kctl.c > +++ b/sound/virtio/virtio_kctl.c > @@ -286,6 +286,11 @@ static int virtsnd_kctl_tlv_op(struct snd_kcontrol *kcontrol, int op_flag, > else > rc = virtsnd_ctl_msg_send(snd, msg, &sg, NULL, false); > > + break; > + default: > + virtsnd_ctl_msg_unref(msg); > + rc = -EINVAL; > + There's already virtsnd_ctl_msg_unref call above. Also don't we need virtsnd_ctl_msg_unref on other error paths such as EFAULT? Unify error handling to fix it all then? > break; > } > > -- > 2.43.0 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. 2024-02-14 9:08 ` Aiswarya Cyriac @ 2024-02-14 11:30 ` Michael S. Tsirkin 2024-02-14 11:37 ` Takashi Iwai 0 siblings, 1 reply; 10+ messages in thread From: Michael S. Tsirkin @ 2024-02-14 11:30 UTC (permalink / raw) To: Aiswarya Cyriac Cc: jasowang@redhat.com, perex@perex.cz, tiwai@suse.com, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, virtualization@lists.linux-foundation.org, virtio-dev@lists.oasis-open.org, Anton Yakovlev, coverity-bot, Mikhail Golubev-Ciuchea On Wed, Feb 14, 2024 at 09:08:26AM +0000, Aiswarya Cyriac wrote: > Hi Michael, > > Thank you for reviewing. I have updated my response inline > > On Tue, Feb 13, 2024 at 09:51:30AM +0100, Aiswarya Cyriac wrote: > >> Fix the following warning when building virtio_snd driver. > >> > >> " > >> *** CID 1583619: Uninitialized variables (UNINIT) > >> sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op() > >> 288 > >> 289 break; > >> 290 } > >> 291 > >> 292 kfree(tlv); > >> 293 > >> vvv CID 1583619: Uninitialized variables (UNINIT) > >> vvv Using uninitialized value "rc". > >> 294 return rc; > >> 295 } > >> 296 > >> 297 /** > >> 298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type. > >> 299 * @snd: VirtIO sound device. > >> " > >> > >> Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> > >> Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> > >> Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> > >> Addresses-Coverity-ID: 1583619 ("Uninitialized variables") > >> Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls") > > >I don't know enough about ALSA to say whether the patch is correct. But > >the commit log needs work: please, do not "fix warnings" - analyse the > >code and explain whether there is a real issue and if yes what is it > >and how it can trigger. Is an invalid op_flag ever passed? > >If it's just a coverity false positive it might be ok to > >work around that but document this. > > This warning is caused by the absence of the "default" branch in the > switch-block, and is a false positive because the kernel calls > virtsnd_kctl_tlv_op() only with values for op_flag processed in > this block. Well we don't normally have functions validate inputs. In this case I am not really sure we should bother with adding dead code. If you really want to, add BUG_ON. > I will update the fix and send a v2 patch > > >> --- > >> sound/virtio/virtio_kctl.c | 5 +++++ > >> 1 file changed, 5 insertions(+) > >> > >> diff --git a/sound/virtio/virtio_kctl.c b/sound/virtio/virtio_kctl.c > >> index 0c6ac74aca1e..d7a160c5db03 100644 > >> --- a/sound/virtio/virtio_kctl.c > >> +++ b/sound/virtio/virtio_kctl.c > >> @@ -286,6 +286,11 @@ static int virtsnd_kctl_tlv_op(struct snd_kcontrol *kcontrol, int op_flag, > >> else > >> rc = virtsnd_ctl_msg_send(snd, msg, &sg, NULL, false); > >> > >> + break; > >> + default: > >> + virtsnd_ctl_msg_unref(msg); > >> + rc = -EINVAL; > >> + > > >There's already virtsnd_ctl_msg_unref call above. > >Also don't we need virtsnd_ctl_msg_unref on other error paths > >such as EFAULT? > >Unify error handling to fix it all then? > > This also need to be handled and virtsnd_ctl_msg_unref needed in case of EFAULT as well. > I will update the patch. > > > Thanks, > Aiswarya Cyriac > Software Engineer > > OpenSynergy GmbH > Rotherstr. 20, 10245 Berlin > > EMail: aiswarya.cyriac@opensynergy.com > > www.opensynergy.com > Handelsregister/Commercial Registry: Amtsgericht Charlottenburg, HRB 108616B > Geschäftsführer/Managing Director: Régis Adjamah > > ________________________________________ > From: Michael S. Tsirkin <mst@redhat.com> > Sent: Tuesday, February 13, 2024 10:06 AM > To: Aiswarya Cyriac > Cc: jasowang@redhat.com; perex@perex.cz; tiwai@suse.com; linux-kernel@vger.kernel.org; alsa-devel@alsa-project.org; virtualization@lists.linux-foundation.org; virtio-dev@lists.oasis-open.org; Anton Yakovlev; coverity-bot > Subject: Re: [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. > > On Tue, Feb 13, 2024 at 09:51:30AM +0100, Aiswarya Cyriac wrote: > > Fix the following warning when building virtio_snd driver. > > > > " > > *** CID 1583619: Uninitialized variables (UNINIT) > > sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op() > > 288 > > 289 break; > > 290 } > > 291 > > 292 kfree(tlv); > > 293 > > vvv CID 1583619: Uninitialized variables (UNINIT) > > vvv Using uninitialized value "rc". > > 294 return rc; > > 295 } > > 296 > > 297 /** > > 298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type. > > 299 * @snd: VirtIO sound device. > > " > > > > Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> > > Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> > > Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> > > Addresses-Coverity-ID: 1583619 ("Uninitialized variables") > > Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls") > > I don't know enough about ALSA to say whether the patch is correct. But > the commit log needs work: please, do not "fix warnings" - analyse the > code and explain whether there is a real issue and if yes what is it > and how it can trigger. Is an invalid op_flag ever passed? > If it's just a coverity false positive it might be ok to > work around that but document this. > > > > --- > > sound/virtio/virtio_kctl.c | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/sound/virtio/virtio_kctl.c b/sound/virtio/virtio_kctl.c > > index 0c6ac74aca1e..d7a160c5db03 100644 > > --- a/sound/virtio/virtio_kctl.c > > +++ b/sound/virtio/virtio_kctl.c > > @@ -286,6 +286,11 @@ static int virtsnd_kctl_tlv_op(struct snd_kcontrol *kcontrol, int op_flag, > > else > > rc = virtsnd_ctl_msg_send(snd, msg, &sg, NULL, false); > > > > + break; > > + default: > > + virtsnd_ctl_msg_unref(msg); > > + rc = -EINVAL; > > + > > There's already virtsnd_ctl_msg_unref call above. > Also don't we need virtsnd_ctl_msg_unref on other error paths > such as EFAULT? > Unify error handling to fix it all then? > > > break; > > } > > > > -- > > 2.43.0 > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. 2024-02-14 11:30 ` Michael S. Tsirkin @ 2024-02-14 11:37 ` Takashi Iwai 2024-02-14 13:07 ` Aiswarya Cyriac 0 siblings, 1 reply; 10+ messages in thread From: Takashi Iwai @ 2024-02-14 11:37 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Aiswarya Cyriac, jasowang@redhat.com, perex@perex.cz, tiwai@suse.com, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, virtualization@lists.linux-foundation.org, virtio-dev@lists.oasis-open.org, Anton Yakovlev, coverity-bot, Mikhail Golubev-Ciuchea On Wed, 14 Feb 2024 12:30:19 +0100, Michael S. Tsirkin wrote: > > On Wed, Feb 14, 2024 at 09:08:26AM +0000, Aiswarya Cyriac wrote: > > Hi Michael, > > > > Thank you for reviewing. I have updated my response inline > > > > On Tue, Feb 13, 2024 at 09:51:30AM +0100, Aiswarya Cyriac wrote: > > >> Fix the following warning when building virtio_snd driver. > > >> > > >> " > > >> *** CID 1583619: Uninitialized variables (UNINIT) > > >> sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op() > > >> 288 > > >> 289 break; > > >> 290 } > > >> 291 > > >> 292 kfree(tlv); > > >> 293 > > >> vvv CID 1583619: Uninitialized variables (UNINIT) > > >> vvv Using uninitialized value "rc". > > >> 294 return rc; > > >> 295 } > > >> 296 > > >> 297 /** > > >> 298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type. > > >> 299 * @snd: VirtIO sound device. > > >> " > > >> > > >> Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> > > >> Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> > > >> Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> > > >> Addresses-Coverity-ID: 1583619 ("Uninitialized variables") > > >> Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls") > > > > >I don't know enough about ALSA to say whether the patch is correct. But > > >the commit log needs work: please, do not "fix warnings" - analyse the > > >code and explain whether there is a real issue and if yes what is it > > >and how it can trigger. Is an invalid op_flag ever passed? > > >If it's just a coverity false positive it might be ok to > > >work around that but document this. > > > > This warning is caused by the absence of the "default" branch in the > > switch-block, and is a false positive because the kernel calls > > virtsnd_kctl_tlv_op() only with values for op_flag processed in > > this block. > > Well we don't normally have functions validate inputs. > In this case I am not really sure we should bother > with adding dead code. If you really want to, add BUG_ON. Please don't use BUG_ON() in such a case... There is no reason to break the whole operation. thanks, Takashi ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. 2024-02-14 11:37 ` Takashi Iwai @ 2024-02-14 13:07 ` Aiswarya Cyriac 2024-02-14 13:16 ` Takashi Iwai 0 siblings, 1 reply; 10+ messages in thread From: Aiswarya Cyriac @ 2024-02-14 13:07 UTC (permalink / raw) To: Takashi Iwai, Michael S. Tsirkin Cc: jasowang@redhat.com, perex@perex.cz, tiwai@suse.com, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, virtualization@lists.linux-foundation.org, virtio-dev@lists.oasis-open.org, Anton Yakovlev, coverity-bot, Mikhail Golubev-Ciuchea On Wed, 14 Feb 2024 12:30:19 +0100, Michael S. Tsirkin wrote: >> >> On Wed, Feb 14, 2024 at 09:08:26AM +0000, Aiswarya Cyriac wrote: >> > Hi Michael, >> > >> > Thank you for reviewing. I have updated my response inline >> > >> > On Tue, Feb 13, 2024 at 09:51:30AM +0100, Aiswarya Cyriac wrote: >> > >> Fix the following warning when building virtio_snd driver. >> > >> >> > >> " >> > >> *** CID 1583619: Uninitialized variables (UNINIT) >> > >> sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op() >> > >> 288 >> > >> 289 break; >> > >> 290 } >> > >> 291 >> > >> 292 kfree(tlv); >> > >> 293 >> > >> vvv CID 1583619: Uninitialized variables (UNINIT) >> > >> vvv Using uninitialized value "rc". >> > >> 294 return rc; >> > >> 295 } >> > >> 296 >> > >> 297 /** >> > >> 298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type. >> > >> 299 * @snd: VirtIO sound device. >> > >> " >> > >> >> > >> Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> >> > >> Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> >> > >> Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> >> > >> Addresses-Coverity-ID: 1583619 ("Uninitialized variables") >> > >> Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls") >> > >> > >I don't know enough about ALSA to say whether the patch is correct. But >> > >the commit log needs work: please, do not "fix warnings" - analyse the >> > >code and explain whether there is a real issue and if yes what is it >> > >and how it can trigger. Is an invalid op_flag ever passed? >> > >If it's just a coverity false positive it might be ok to >> > >work around that but document this. >> > >> > This warning is caused by the absence of the "default" branch in the >> > switch-block, and is a false positive because the kernel calls >> > virtsnd_kctl_tlv_op() only with values for op_flag processed in >> > this block. >> >> Well we don't normally have functions validate inputs. >> In this case I am not really sure we should bother >> with adding dead code. If you really want to, add BUG_ON. > Please don't use BUG_ON() in such a case... > There is no reason to break the whole operation. How about adding a WARN_ON() on default case? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning. 2024-02-14 13:07 ` Aiswarya Cyriac @ 2024-02-14 13:16 ` Takashi Iwai 0 siblings, 0 replies; 10+ messages in thread From: Takashi Iwai @ 2024-02-14 13:16 UTC (permalink / raw) To: Aiswarya Cyriac Cc: Michael S. Tsirkin, jasowang@redhat.com, perex@perex.cz, tiwai@suse.com, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, virtualization@lists.linux-foundation.org, virtio-dev@lists.oasis-open.org, Anton Yakovlev, coverity-bot, Mikhail Golubev-Ciuchea On Wed, 14 Feb 2024 14:07:40 +0100, Aiswarya Cyriac wrote: > > > On Wed, 14 Feb 2024 12:30:19 +0100, > Michael S. Tsirkin wrote: > >> > >> On Wed, Feb 14, 2024 at 09:08:26AM +0000, Aiswarya Cyriac wrote: > >> > Hi Michael, > >> > > >> > Thank you for reviewing. I have updated my response inline > >> > > >> > On Tue, Feb 13, 2024 at 09:51:30AM +0100, Aiswarya Cyriac wrote: > >> > >> Fix the following warning when building virtio_snd driver. > >> > >> > >> > >> " > >> > >> *** CID 1583619: Uninitialized variables (UNINIT) > >> > >> sound/virtio/virtio_kctl.c:294 in virtsnd_kctl_tlv_op() > >> > >> 288 > >> > >> 289 break; > >> > >> 290 } > >> > >> 291 > >> > >> 292 kfree(tlv); > >> > >> 293 > >> > >> vvv CID 1583619: Uninitialized variables (UNINIT) > >> > >> vvv Using uninitialized value "rc". > >> > >> 294 return rc; > >> > >> 295 } > >> > >> 296 > >> > >> 297 /** > >> > >> 298 * virtsnd_kctl_get_enum_items() - Query items for the ENUMERATED element type. > >> > >> 299 * @snd: VirtIO sound device. > >> > >> " > >> > >> > >> > >> Signed-off-by: Anton Yakovlev <anton.yakovlev@opensynergy.com> > >> > >> Signed-off-by: Aiswarya Cyriac <aiswarya.cyriac@opensynergy.com> > >> > >> Reported-by: coverity-bot <keescook+coverity-bot@chromium.org> > >> > >> Addresses-Coverity-ID: 1583619 ("Uninitialized variables") > >> > >> Fixes: d6568e3de42d ("ALSA: virtio: add support for audio controls") > >> > > >> > >I don't know enough about ALSA to say whether the patch is correct. But > >> > >the commit log needs work: please, do not "fix warnings" - analyse the > >> > >code and explain whether there is a real issue and if yes what is it > >> > >and how it can trigger. Is an invalid op_flag ever passed? > >> > >If it's just a coverity false positive it might be ok to > >> > >work around that but document this. > >> > > >> > This warning is caused by the absence of the "default" branch in the > >> > switch-block, and is a false positive because the kernel calls > >> > virtsnd_kctl_tlv_op() only with values for op_flag processed in > >> > this block. > >> > >> Well we don't normally have functions validate inputs. > >> In this case I am not really sure we should bother > >> with adding dead code. If you really want to, add BUG_ON. > > > Please don't use BUG_ON() in such a case... > > There is no reason to break the whole operation. > > How about adding a WARN_ON() on default case? That's better :) thanks, Takashi ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-02-14 13:16 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-02-13 8:51 [PATCH] ALSA: virtio: Fix "Coverity: virtsnd_kctl_tlv_op(): Uninitialized variables" warning Aiswarya Cyriac 2024-02-13 9:02 ` Takashi Iwai 2024-02-13 9:07 ` Michael S. Tsirkin 2024-02-13 9:42 ` Takashi Iwai 2024-02-13 9:06 ` Michael S. Tsirkin 2024-02-14 9:08 ` Aiswarya Cyriac 2024-02-14 11:30 ` Michael S. Tsirkin 2024-02-14 11:37 ` Takashi Iwai 2024-02-14 13:07 ` Aiswarya Cyriac 2024-02-14 13:16 ` Takashi Iwai
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).