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@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> -- Kees Cook