Re: [PATCH] KVM: Fix a warning in __kvm_gfn_to_hva_cache_init()
From: Sean Christopherson
Date: Mon May 11 2020 - 13:10:09 EST
On Mon, May 11, 2020 at 10:04:29AM -0700, Oliver Upton wrote:
> On Mon, May 11, 2020 at 9:05 AM Sean Christopherson
> <sean.j.christopherson@xxxxxxxxx> wrote:
> >
> > +cc a few other people that have reported this at one time or another.
> >
> > On Tue, May 05, 2020 at 10:12:45AM -0400, Peter Xu wrote:
> > > On Mon, May 04, 2020 at 06:39:29PM -0700, Sean Christopherson wrote:
> > > > On Mon, May 04, 2020 at 03:05:26PM -0400, Peter Xu wrote:
> > > > > GCC 10.0.1 gives me this warning when building KVM:
> > > > >
> > > > > warning: ânr_pages_availâ may be used uninitialized in this function [-Wmaybe-uninitialized]
> > > > > 2442 | for ( ; start_gfn <= end_gfn; start_gfn += nr_pages_avail) {
> > > > >
> > > > > It should not happen, but silent it.
> > > >
> > > > Heh, third times a charm? This has been reported and proposed twice
> > > > before[1][2]. Are you using any custom compiler flags? E.g. -O3 is known
> > > > to cause false positives with -Wmaybe-uninitialized.
> > >
> > > No, what I did was only upgrading to Fedora 32 (which will auto-upgrade GCC),
> > > so it should be using the default params of whatever provided.
> > >
> > > >
> > > > If we do end up killing this warning, I'd still prefer to use
> > > > uninitialized_var() over zero-initializing the variable.
> > > >
> > > > [1] https://lkml.kernel.org/r/20200218184756.242904-1-oupton@xxxxxxxxxx
> > > > [2] https://bugzilla.kernel.org/show_bug.cgi?id=207173
> > >
> > > OK, I didn't know this is a known problem and discussions going on. But I
> > > guess it would be good to address this sooner because it could become a common
> > > warning very soon after people upgrades gcc.
> >
> > Ya, others are hitting this as well. It's especially painful with the
> > existence of KVM_WERROR.
> >
> > Paolo, any preference on how to resolve this? It would appear GCC 10 got
> > "smarter".
>
> Seems that doing absolutely nothing was the fix here :) See:
>
> 78a5255ffb6a ("Stop the ad-hoc games with -Wno-maybe-initialized")
Ah, perfect! Thanks Oliver.