[lkml]   [2020]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[tip: timers/core] scripts: Fix the inclusion order in modpost
The following commit has been merged into the timers/core branch of tip:

Commit-ID: f58dd03b1157bdf3b64c36e9525f8d7f69c25df2
Author: Vincenzo Frascino <>
AuthorDate: Fri, 20 Mar 2020 14:53:41
Committer: Thomas Gleixner <>
CommitterDate: Sat, 21 Mar 2020 15:24:00 +01:00

scripts: Fix the inclusion order in modpost

In the process of creating the source file of a module modpost injects a
set of includes that are not required if the compilation unit is
statically built into the kernel.

The order of inclusion of the headers can cause redefinition problems

In file included from include/linux/elf.h:5:0,
from include/linux/module.h:18,
from crypto/arc4.mod.c:2:

In file included from include/linux/elfnote.h:62:0,
from include/linux/build-salt.h:4,
from crypto/arc4.mod.c:1:
include/uapi/linux/elf.h:363:0: note: this is the location of
the previous definition

The issue was exposed during the development of the series [1].


Reported-by: kbuild test robot <>
Signed-off-by: Vincenzo Frascino <>
Signed-off-by: Thomas Gleixner <>
Cc: Masahiro Yamada <>
Cc: Michal Marek <>

scripts/mod/modpost.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 7edfdb2..0f354b1 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -2251,8 +2251,12 @@ static int check_modname_len(struct module *mod)
static void add_header(struct buffer *b, struct module *mod)
- buf_printf(b, "#include <linux/build-salt.h>\n");
buf_printf(b, "#include <linux/module.h>\n");
+ /*
+ * Include build-salt.h after module.h in order to
+ * inherit the definitions.
+ */
+ buf_printf(b, "#include <linux/build-salt.h>\n");
buf_printf(b, "#include <linux/vermagic.h>\n");
buf_printf(b, "#include <linux/compiler.h>\n");
buf_printf(b, "\n");
 \ /
  Last update: 2020-03-21 15:34    [W:0.219 / U:1.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site