diff options
Diffstat (limited to '0001-kbuild-Add-build-salt-to-the-kernel-and-modules.patch')
-rw-r--r-- | 0001-kbuild-Add-build-salt-to-the-kernel-and-modules.patch | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/0001-kbuild-Add-build-salt-to-the-kernel-and-modules.patch b/0001-kbuild-Add-build-salt-to-the-kernel-and-modules.patch deleted file mode 100644 index 1c0b1ab2e..000000000 --- a/0001-kbuild-Add-build-salt-to-the-kernel-and-modules.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 25d3cf21987c752240df03c050593621ed2bd3a3 Mon Sep 17 00:00:00 2001 -From: Laura Abbott <labbott@redhat.com> -Date: Tue, 3 Jul 2018 15:50:14 -0700 -Subject: [PATCHv6 1/4] kbuild: Add build salt to the kernel and modules -To: Andy Lutomirski <luto@kernel.org> -To: mjw@fedoraproject.org -Cc: Linus Torvalds <torvalds@linux-foundation.org> -To: H. J. Lu <hjl.tools@gmail.com> -Cc: X86 ML <x86@kernel.org> -Cc: linux-kernel@vger.kernel.org -To: Masahiro Yamada <yamada.masahiro@socionext.com> -Cc: Nick Clifton <nickc@redhat.com> -Cc: Cary Coutant <ccoutant@gmail.com> -Cc: linux-kbuild@vger.kernel.org -Cc: linuxppc-dev@lists.ozlabs.org -To: Michael Ellerman <mpe@ellerman.id.au> -To: Catalin Marinas <catalin.marinas@arm.com> -To: Will Deacon <will.deacon@arm.com> -Cc: linux-arm-kernel@lists.infradead.org - - -In Fedora, the debug information is packaged separately (foo-debuginfo) and -can be installed separately. There's been a long standing issue where only -one version of a debuginfo info package can be installed at a time. There's -been an effort for Fedora for parallel debuginfo to rectify this problem. - -Part of the requirement to allow parallel debuginfo to work is that build ids -are unique between builds. The existing upstream rpm implementation ensures -this by re-calculating the build-id using the version and release as a -seed. This doesn't work 100% for the kernel because of the vDSO which is -its own binary and doesn't get updated when embedded. - -Fix this by adding some data in an ELF note for both the kernel and modules. -The data is controlled via a Kconfig option so distributions can set it -to an appropriate value to ensure uniqueness between builds. - -Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com> -Signed-off-by: Laura Abbott <labbott@redhat.com> ---- -v6: Added more detail to the commit text about why exactly this feature -is useful. Default string now "" ---- - include/linux/build-salt.h | 20 ++++++++++++++++++++ - init/Kconfig | 9 +++++++++ - init/version.c | 3 +++ - scripts/mod/modpost.c | 3 +++ - 4 files changed, 35 insertions(+) - create mode 100644 include/linux/build-salt.h - -diff --git a/include/linux/build-salt.h b/include/linux/build-salt.h -new file mode 100644 -index 000000000000..bb007bd05e7a ---- /dev/null -+++ b/include/linux/build-salt.h -@@ -0,0 +1,20 @@ -+#ifndef __BUILD_SALT_H -+#define __BUILD_SALT_H -+ -+#include <linux/elfnote.h> -+ -+#define LINUX_ELFNOTE_BUILD_SALT 0x100 -+ -+#ifdef __ASSEMBLER__ -+ -+#define BUILD_SALT \ -+ ELFNOTE(Linux, LINUX_ELFNOTE_BUILD_SALT, .asciz CONFIG_BUILD_SALT) -+ -+#else -+ -+#define BUILD_SALT \ -+ ELFNOTE32("Linux", LINUX_ELFNOTE_BUILD_SALT, CONFIG_BUILD_SALT) -+ -+#endif -+ -+#endif /* __BUILD_SALT_H */ -diff --git a/init/Kconfig b/init/Kconfig -index 041f3a022122..d39b31484c52 100644 ---- a/init/Kconfig -+++ b/init/Kconfig -@@ -107,6 +107,15 @@ config LOCALVERSION_AUTO - - which is done within the script "scripts/setlocalversion".) - -+config BUILD_SALT -+ string "Build ID Salt" -+ default "" -+ help -+ The build ID is used to link binaries and their debug info. Setting -+ this option will use the value in the calculation of the build id. -+ This is mostly useful for distributions which want to ensure the -+ build is unique between builds. It's safe to leave the default. -+ - config HAVE_KERNEL_GZIP - bool - -diff --git a/init/version.c b/init/version.c -index bfb4e3f4955e..ef4012ec4375 100644 ---- a/init/version.c -+++ b/init/version.c -@@ -7,6 +7,7 @@ - */ - - #include <generated/compile.h> -+#include <linux/build-salt.h> - #include <linux/export.h> - #include <linux/uts.h> - #include <linux/utsname.h> -@@ -49,3 +50,5 @@ const char linux_proc_banner[] = - "%s version %s" - " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ")" - " (" LINUX_COMPILER ") %s\n"; -+ -+BUILD_SALT; -diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c -index 1663fb19343a..dc6d714e4dcb 100644 ---- a/scripts/mod/modpost.c -+++ b/scripts/mod/modpost.c -@@ -2125,10 +2125,13 @@ 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"); - buf_printf(b, "#include <linux/vermagic.h>\n"); - buf_printf(b, "#include <linux/compiler.h>\n"); - buf_printf(b, "\n"); -+ buf_printf(b, "BUILD_SALT;\n"); -+ buf_printf(b, "\n"); - buf_printf(b, "MODULE_INFO(vermagic, VERMAGIC_STRING);\n"); - buf_printf(b, "MODULE_INFO(name, KBUILD_MODNAME);\n"); - buf_printf(b, "\n"); --- -2.17.1 - |