On Fri, Jun 22, 2012 at 03:13:05PM +0800, Fengguang Wu wrote: > On Mon, Jun 18, 2012 at 09:54:40AM -0700, Randy Dunlap wrote: > > On 06/15/2012 09:27 AM, Randy Dunlap wrote: > > > > > On 06/14/2012 11:52 PM, Fengguang Wu wrote: > > > > > >> On Fri, Jun 15, 2012 at 02:33:03PM +1000, Stephen Rothwell wrote: > > >>> Hi all, > > >>> > > >>> Changes since 20120614: > > >>> > > >>> My fixes tree contains: > > >>> fix bug.h's inclusion of kernel.h > > >> > > >> I got these errors with the attached randconfig. Not sure which change > > >> triggers them. > > > > > > Ditto. When CONFIG_BUG is not enabled. > > > > > > This problem is still in linux-next of 20120618... > > It's now in Linus' tree.. > > Paul, any idea to fix this? The attached .config can reproduce the bug. > I'm really starting to loathe this header. This should take care of it: --- diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h index 506ec19..7d10f96 100644 --- a/include/asm-generic/bug.h +++ b/include/asm-generic/bug.h @@ -3,10 +3,18 @@ #include <linux/compiler.h> +#ifdef CONFIG_GENERIC_BUG +#define BUGFLAG_WARNING (1 << 0) +#define BUGFLAG_TAINT(taint) (BUGFLAG_WARNING | ((taint) << 8)) +#define BUG_GET_TAINT(bug) ((bug)->flags >> 8) +#endif + +#ifndef __ASSEMBLY__ +#include <linux/kernel.h> + #ifdef CONFIG_BUG #ifdef CONFIG_GENERIC_BUG -#ifndef __ASSEMBLY__ struct bug_entry { #ifndef CONFIG_GENERIC_BUG_RELATIVE_POINTERS unsigned long bug_addr; @@ -23,17 +31,8 @@ struct bug_entry { #endif unsigned short flags; }; -#endif /* __ASSEMBLY__ */ - -#define BUGFLAG_WARNING (1 << 0) -#define BUGFLAG_TAINT(taint) (BUGFLAG_WARNING | ((taint) << 8)) -#define BUG_GET_TAINT(bug) ((bug)->flags >> 8) - #endif /* CONFIG_GENERIC_BUG */ -#ifndef __ASSEMBLY__ -#include <linux/kernel.h> - /* * Don't use BUG() or BUG_ON() unless there's really no way out; one * example might be detecting data structure corruption in the middle -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html