From: Andre Przywara <andre.przywara@arm.com>
To: hbuxiaofei <hbuxiaofei@gmail.com>
Cc: will@kernel.org, kvm@vger.kernel.org,
Alexandru Elisei <Alexandru.Elisei@arm.com>
Subject: Re: [PATCH kvmtool] hw/i8042: Fix value uninitialized in kbd_io()
Date: Fri, 4 Nov 2022 15:27:09 +0000 [thread overview]
Message-ID: <20221104152709.10235b86@donnerap.cambridge.arm.com> (raw)
In-Reply-To: <20221102080501.69274-1-hbuxiaofei@gmail.com>
On Wed, 2 Nov 2022 16:05:01 +0800
hbuxiaofei <hbuxiaofei@gmail.com> wrote:
Hi,
> GCC Version:
> gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1)
>
> hw/i8042.c: In function ‘kbd_io’:
> hw/i8042.c:153:19: error: ‘value’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
> state.write_cmd = val;
> ~~~~~~~~~~~~~~~~^~~~~
> hw/i8042.c:298:5: note: ‘value’ was declared here
> u8 value;
> ^~~~~
> cc1: all warnings being treated as errors
> make: *** [Makefile:508: hw/i8042.o] Error 1
Yeah, I have seen this with the Ubuntu 18.04 GCC as well (Ubuntu
7.5.0-3ubuntu1-18.04), when compiling for x86. It's pretty clearly a
compiler bug (or rather inability to see through all the branches), but as
the code currently stands, value will always be initialised.
So while it's easy to brush this off as "go and fix your compiler", for
users of Ubuntu 18.04 and RedHat 8 that's probably not an easy thing to do.
So since we force breakage on people by using Werror, I'd support the idea
of taking this patch, potentially with a comment, to make people's life
easier.
Cheers,
Andre
> Signed-off-by: hbuxiaofei <hbuxiaofei@gmail.com>
> ---
> hw/i8042.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/i8042.c b/hw/i8042.c
> index 20be36c..6e4b559 100644
> --- a/hw/i8042.c
> +++ b/hw/i8042.c
> @@ -295,7 +295,7 @@ static void kbd_reset(void)
> static void kbd_io(struct kvm_cpu *vcpu, u64 addr, u8 *data, u32 len,
> u8 is_write, void *ptr)
> {
> - u8 value;
> + u8 value = 0;
>
> if (is_write)
> value = ioport__read8(data);
next prev parent reply other threads:[~2022-11-04 15:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-02 8:05 [PATCH kvmtool] hw/i8042: Fix value uninitialized in kbd_io() hbuxiaofei
2022-11-04 15:27 ` Andre Przywara [this message]
[not found] ` <CAFVig-zYrUDg_xNUpfiCmxxq5-PeZeXSbuBi3y640YYDLA5WoA@mail.gmail.com>
2022-11-09 4:56 ` hbuxiaofei
2022-11-08 17:38 ` Will Deacon
-- strict thread matches above, loose matches on Subject: below --
2022-11-02 8:00 hbuxiaofei
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=20221104152709.10235b86@donnerap.cambridge.arm.com \
--to=andre.przywara@arm.com \
--cc=Alexandru.Elisei@arm.com \
--cc=hbuxiaofei@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=will@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox