Re: [PATCH v2] linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in <linux/kernel.h>
From: Kees Cook <hidden>
Date: 2021-05-05 21:09:10
Also in:
linux-gpio, linux-mips, lkml
From: Kees Cook <hidden>
Date: 2021-05-05 21:09:10
Also in:
linux-gpio, linux-mips, lkml
On Thu, May 06, 2021 at 02:45:15AM +0900, Masahiro Yamada wrote:
<linux/kconfig.h> is included from all the kernel-space source files, including C, assembly, linker scripts. It is intended to contain a minimal set of macros to evaluate CONFIG options. IF_ENABLED() is an intruder here because (x ? y : z) is C code, which should not be included from assembly files or linker scripts. Also, <linux/kconfig.h> is no longer self-contained because NULL is defined in <linux/stddef.h>. Move IF_ENABLED() out to <linux/kernel.h> as PTR_IF(). PTF_IF() takes the general boolean expression instead of a CONFIG option so that it fits better in <linux/kernel.h>. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Kees Cook <redacted> -- Kees Cook