Re: [PATCH] KVM: x86: do not shadow apic global definition

Vincent MAILHOL
2022-07-30T04:16:08Z

On Sat. 30 Jul. 2022 at 02:48, Sean Christopherson <seanjc@google.com> wrote:
> On Fri, Jul 29, 2022, Vincent Mailhol wrote:
> > arch/x86/include/asm/apic.h declares a global variable named `apic'.
> >
> > Many function arguments from arch/x86/kvm/lapic.h also uses the same
> > name and thus shadow the global declaration. For each case of
> > shadowing, rename the function argument from `apic' to `lapic'.
> >
> > This patch silences below -Wshadow warnings:
>
> This is just the tip of the iceberg, nearly every KVM x86 .c file has at least one
> "apic" variable. arch/x86/kvm/lapic.c alone has nearly 100. If this were the very
> last step before a kernel-wide (or even KVM-wide) enabling of -Wshadow then maybe
> it would be worth doing, but as it stands IMO it's unnecesary churn.

I would say the opposite: in terms of *volume*, warnings from apic.c
would be the tip of the iceberg and apic.h is the submerged part.

When the warning occurs in a header from the include directory, it
will spam some random files which include such header. This is
annoying when trying to triage W=2 warnings because you get totally
unrelated warning (and W=2 has some useful flags such as
-Wmaybe-uninitialized so there are some insensitive to check it).

My intent is only to silence the headers. I do not really care about
the -Wshadow on *.c files because it is local.

> What I would really love is to not have the global (and exported!) "apic", but
> properly solving that, i.e. not just a rename, would require a significant rework.

I double agree. I would also like to rename the global "apic" but I do
not think this is easily feasible.

Yours sincerely,
Vincent Mailhol