Re: [PATCH] KVM: Fix a warning in __kvm_gfn_to_hva_cache_init()

From: Peter Xu
Date: Tue May 05 2020 - 10:12:58 EST


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.

Thanks,

--
Peter Xu