Skip to contentSkip to conversation

2.4: BUG_ON (1/2)

PATCH New Robert Love 1 participant 1 message Apr 3, 2002

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 2.4: BUG_ON (1/2)

Marcelo and Alan,

The attached patch adds 2.5's BUG_ON construct to the 2.4 kernel. This is done to facilitate portability and back-porting 2.4 <=> 2.5, because BUG_ON is a very readable construct, and because it is a small optimization over standard BUG.

For the unaware, BUG_ON(condition) is basically

        if (unlikely(condition) != 0) BUG();

This is not really about sprinkling BUG_ONs everywhere but helping backporting. And I like BUG_ON :)

This patch is against 2.4.19-pre5, but also applies to 2.4.19-pre4-ac3. Alan and Marcelo - please apply.

Robert Love

include/linux/kernel.h +3 -1
diff -urN linux-2.4.19-pre5/include/linux/kernel.h linux/include/linux/kernel.h
@@ -184,4 +184,6 @@
 	char _f[20-2*sizeof(long)-sizeof(int)];	/* Padding: libc5 uses this.. */
 };
 
-#endif
+#define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0)
+
+#endif /* _LINUX_KERNEL_H */