The patch titled Subject: bug.h: Prevent double evaulation of in BUILD_BUG_ON has been added to the -mm tree. Its filename is bugh-prevent-double-evaulation-of-in-build_bug_on.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Daniel Santos <daniel.santos@xxxxxxxxx> Subject: bug.h: Prevent double evaulation of in BUILD_BUG_ON When calling BUILD_BUG_ON in an optimized build using gcc 4.3 and later, the condition will be evaulated twice, possibily with side-effects. This patch eliminates that error. Signed-off-by: Daniel Santos <daniel.santos@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/bug.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff -puN include/linux/bug.h~bugh-prevent-double-evaulation-of-in-build_bug_on include/linux/bug.h --- a/include/linux/bug.h~bugh-prevent-double-evaulation-of-in-build_bug_on +++ a/include/linux/bug.h @@ -59,8 +59,9 @@ struct pt_regs; extern int __build_bug_on_failed; #define BUILD_BUG_ON(condition) \ do { \ - ((void)sizeof(char[1 - 2*!!(condition)])); \ - if (condition) __build_bug_on_failed = 1; \ + bool __cond = !!(condition); \ + ((void)sizeof(char[1 - 2 * __cond])); \ + if (__cond) __build_bug_on_failed = 1; \ } while(0) #endif _ Patches currently in -mm which might be from daniel.santos@xxxxxxxxx are compiler-gcc4h-reorder-macros-based-upon-gcc-ver.patch compiler-gcch-add-gcc-recommended-gcc_version-macro.patch compiler-gcc34h-use-gcc_version-macro.patch compiler-gcc4h-bugh-remove-duplicate-macros.patch bugh-fix-build_bug_on-macro-in-__checker__.patch bugh-prevent-double-evaulation-of-in-build_bug_on.patch bugh-make-build_bug_on-generate-compile-time-error.patch compilerh-bugh-prevent-double-error-messages-with-build_bug_on.patch bugh-compilerh-introduce-compiletime_assert-build_bug_on_msg.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html