summaryrefslogtreecommitdiffstats
path: root/0001-kbuild-Add-build-salt-to-the-kernel-and-modules.patch
diff options
context:
space:
mode:
authorJeremy Cline <jcline@redhat.com>2018-08-16 14:56:49 +0100
committerJeremy Cline <jcline@redhat.com>2018-08-16 14:56:49 +0100
commita23ced99bd02327669d3df77ad95c2060813e787 (patch)
treec4895a03646d8a95ccafdef260179ea45e074319 /0001-kbuild-Add-build-salt-to-the-kernel-and-modules.patch
parentbec265804e1fd3a597c830846bf5efb43ebfa165 (diff)
downloadkernel-a23ced99bd02327669d3df77ad95c2060813e787.tar.gz
kernel-a23ced99bd02327669d3df77ad95c2060813e787.tar.xz
kernel-a23ced99bd02327669d3df77ad95c2060813e787.zip
Linux v4.18-7873-gf91e654474d4
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.patch134
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
-