[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <522763A9.8080708@zytor.com>
Date: Wed, 04 Sep 2013 09:45:29 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
CC: Ingo Molnar <mingo@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Jeremy Fitzhardinge <jeremy@...p.org>,
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
Andi Kleen <andi@...stfloor.org>,
kbuild test robot <fengguang.wu@...el.com>
Subject: Re: [GIT PULL] x86/asmlinkage changes for v3.12
On 09/04/2013 08:58 AM, Linus Torvalds wrote:
> On Tue, Sep 3, 2013 at 7:39 AM, Ingo Molnar <mingo@...nel.org> wrote:
>>
>> Please pull the latest x86-asmlinkage-for-linus git tree from:
>
> Grr. This one seems to introduce this annoying warning:
>
> arch/x86/kernel/paravirt.c:66:0: warning: "DEF_NATIVE" redefined
> [enabled by default]
> #define DEF_NATIVE(ops, name, code) \
> ^
> In file included from
> /home/torvalds/v2.6/linux/arch/x86/include/asm/ptrace.h:65:0,
> from
> /home/torvalds/v2.6/linux/arch/x86/include/asm/alternative.h:8,
> from
> /home/torvalds/v2.6/linux/arch/x86/include/asm/bitops.h:16,
> from include/linux/bitops.h:22,
> from include/linux/kernel.h:10,
> from include/linux/cache.h:4,
> from include/linux/time.h:4,
> from include/linux/stat.h:18,
> from include/linux/module.h:10,
> from arch/x86/kernel/paravirt.c:22:
> /home/torvalds/v2.6/linux/arch/x86/include/asm/paravirt_types.h:389:0:
> note: this is the location of the previous definition
> #define DEF_NATIVE(ops, name, code) \
> ^
>
> when doing an allmodconfig.
>
> Maybe it gets fixed later in the series (I am about a third through
> your pull requests), but it's clearly bogus.
>
> What the heck is wrong with that macro anyway? It is used in one
> single file, and it is _defined_ twice - in two other files. Somebody
> was very very confused when they wrote that code.
>
> I'm going to let the pull stand, since it doesn't seem to actually
> break anything, but this needs to be fixed.
>
This is actually a very old bug (the macro is defined in a .c and a .h
file, but this patchset makes them different.)
The definition in the .c file should be removed, I believe.
It is used in two files (paravirt_patch_{32,64}.c) but not in paravirt.c
proper.
This also exposes an interesting problem with Fengguang's build robot.
One build:
[tip:x86/asmlinkage] 28596b6a8779b736829ad837f95fdc2e81bdd1ee BUILD DONE
28596b6a8779b736829ad837f95fdc2e81bdd1ee x86, asmlinkage, vdso: Mark
vdso variables __visible
... flags the warnings. The next build for the branch looks clean:
[tip:x86/asmlinkage] eb86b5fd505cb97743d84226140cf247d91a2f03 BUILD SUCCESS
eb86b5fd505cb97743d84226140cf247d91a2f03 x86/asmlinkage: Fix warning in
xen asmlinkage change
("DONE" means warnings or errors.)
A human observer would assume that the problem was fixed, since the
patch says "fix warnings", but the problem is that it didn't actually
fix *all* the warnings. However, the bot has flagged the warnings as
preexisting from the previous build, and thus no new warnings were
introduced.
It would be better if the bot reported any warnings not present in upstream.
-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists