Re: [tip:core/urgent] lockdep: warn about lockdep disabling afterkernel taint, fix

From: Frederic Weisbecker
Date: Tue Apr 14 2009 - 07:46:20 EST


On Tue, Apr 14, 2009 at 09:15:38AM +0000, tip-bot for Ingo Molnar wrote:
> Commit-ID: 27b19565fe4ca5b0e9d2ae98ce4b81ca728bf445
> Gitweb: http://git.kernel.org/tip/27b19565fe4ca5b0e9d2ae98ce4b81ca728bf445
> Author: Ingo Molnar <mingo@xxxxxxx>
> AuthorDate: Tue, 14 Apr 2009 11:03:12 +0200
> Committer: Ingo Molnar <mingo@xxxxxxx>
> CommitDate: Tue, 14 Apr 2009 11:11:52 +0200
>
> lockdep: warn about lockdep disabling after kernel taint, fix
>
> Impact: build fix for Sparc and s390
>
> Stephen Rothwell reported that the Sparc build broke:
>
> In file included from kernel/panic.c:12:
> include/linux/debug_locks.h: In function '__debug_locks_off':
> include/linux/debug_locks.h:15: error: implicit declaration of function 'xchg'
>
> due to:
>
> 9eeba61: lockdep: warn about lockdep disabling after kernel taint
>
> There is some inconsistency between architectures about where exactly
> xchg() is defined.
>
> The traditional place is in system.h but the more logical point for it
> is in atomic.h - where most architectures (especially new ones) have
> it defined. These architecture also still offer it via system.h.
>
> Some, such as Sparc or s390 only have it in asm/system.h and not available
> via asm/atomic.h at all.
>
> Use the widest set of headers in debug_locks.h and also include asm/system.h.
>
> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> LKML-Reference: <20090414144317.026498df.sfr@xxxxxxxxxxxxxxxx>
> Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
>
>
> ---
> include/linux/debug_locks.h | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/debug_locks.h b/include/linux/debug_locks.h
> index 493dedb..29b3ce3 100644
> --- a/include/linux/debug_locks.h
> +++ b/include/linux/debug_locks.h
> @@ -3,6 +3,7 @@
>
> #include <linux/kernel.h>
> #include <asm/atomic.h>
> +#include <asm/system.h>
>
> struct task_struct;
>



I'm sorry about this build breakage...

I've grep'ed the definitions of xchg() for this pach and indeed remember
that some architectures defined it in asm/atomic.h and
others in asm/system.h

And I've also seen some of them including system.h from
atomic.h so I thought it was safe but.. heh...

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/