compiler.h: Fix undefined BUILD_BUG_ON_ZERO()
authorPhilipp Reisner <philipp.reisner@linbit.com>
Fri, 15 Nov 2024 20:46:02 +0000 (21:46 +0100)
committerKees Cook <kees@kernel.org>
Sun, 17 Nov 2024 05:15:41 +0000 (21:15 -0800)
commitd7a516c6eeae29144649f1c3f586fa580ec9e040
tree517312ec6449d6394bc824ca860358073913d18a
parenta508ef4b1dcc82227edc594ffae583874dd425d7
compiler.h: Fix undefined BUILD_BUG_ON_ZERO()

<linux/compiler.h> defines __must_be_array() and __must_be_cstr() and
both expand to BUILD_BUG_ON_ZERO(), but <linux/build_bug.h> defines
BUILD_BUG_ON_ZERO(). Including <linux/build_bug.h> in
<linux/compiler.h> would create a cyclic dependency as
<linux/build_bug.h> already includes <linux/compiler.h>.

Fix that by defining __BUILD_BUG_ON_ZERO_MSG() in <linux/compiler.h>
and using that for __must_be_array() and __must_be_cstr().

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Link: https://lore.kernel.org/r/20241115204602.249590-1-philipp.reisner@linbit.com
Signed-off-by: Kees Cook <kees@kernel.org>
include/linux/compiler.h