From: hbuxiaofei <hbuxiaofei@gmail.com>
To: andre.przywara@arm.com
Cc: will@kernel.org, kvm@vger.kernel.org, Alexandru.Elisei@arm.com
Subject: Re: [PATCH kvmtool] hw/i8042: Fix value uninitialized in kbd_io()
Date: Wed, 9 Nov 2022 12:56:16 +0800 [thread overview]
Message-ID: <20221109125616.000072b4@gmail.com> (raw)
In-Reply-To: <CAFVig-zYrUDg_xNUpfiCmxxq5-PeZeXSbuBi3y640YYDLA5WoA@mail.gmail.com>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=GB18030, Size: 1920 bytes --]
On Wed, 9 Nov 2022 10:52:53 +0800
Xiaofei <hbuxiaofei@gmail.com> wrote:
> 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);
Thanks for your advice, it is indeed a compiler bug. Let me add some
comments.
Best regards
Xiaofei
next prev parent reply other threads:[~2022-11-09 4:56 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
[not found] ` <CAFVig-zYrUDg_xNUpfiCmxxq5-PeZeXSbuBi3y640YYDLA5WoA@mail.gmail.com>
2022-11-09 4:56 ` hbuxiaofei [this message]
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=20221109125616.000072b4@gmail.com \
--to=hbuxiaofei@gmail.com \
--cc=Alexandru.Elisei@arm.com \
--cc=andre.przywara@arm.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 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.