| From: Masahiro Yamada <masahiroy@kernel.org> |
| Subject: linux/init.h: include <linux/build_bug.h> and <linux/stringify.h> |
| Date: Sun, 13 Nov 2022 20:08:02 +0900 |
| |
| With CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y, the following code fails to |
| build: |
| |
| ---------------->8---------------- |
| #include <linux/init.h> |
| |
| int foo(void) { return 0; } |
| core_initcall(foo); |
| ---------------->8---------------- |
| |
| Include <linux/build_bug.h> for static_assert() and <linux/stringify.h> |
| for __stringify(). |
| |
| Link: https://lkml.kernel.org/r/20221113110802.3760705-1-masahiroy@kernel.org |
| Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> |
| Cc: Jiangshan Yi <yijiangshan@kylinos.cn> |
| Cc: Kees Cook <keescook@chromium.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Randy Dunlap <rdunlap@infradead.org> # build-tested |
| Cc: Sami Tolvanen <samitolvanen@google.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| include/linux/init.h | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/include/linux/init.h~linux-inith-include-linux-build_bugh-and-linux-stringifyh |
| +++ a/include/linux/init.h |
| @@ -2,7 +2,9 @@ |
| #ifndef _LINUX_INIT_H |
| #define _LINUX_INIT_H |
| |
| +#include <linux/build_bug.h> |
| #include <linux/compiler.h> |
| +#include <linux/stringify.h> |
| #include <linux/types.h> |
| |
| /* Built-in __init functions needn't be compiled with retpoline */ |
| _ |