Go to file
Bruce Ashfield 55dd15336b arch/x86/boot: use prefix map to avoid embedded paths
It was observed that the kernel embeds the path in the x86 boot
artifacts.

From https://bugzilla.yoctoproject.org/show_bug.cgi?id=13458:

[
   If you turn on the buildpaths QA test, or try a reproducible build, you
   discover that the kernel image contains build paths.

   $ strings bzImage-5.0.19-yocto-standard |grep tmp/
   out of pgt_buf in
   /data/poky-tmp/reproducible/tmp/work-shared/qemux86-64/kernel-source/arch/x86/boot/compressed/kaslr_64.c!?

   But what's this in the top-level Makefile:

   $ git grep prefix-map
   Makefile:KBUILD_CFLAGS  += $(call
   cc-option,-fmacro-prefix-map=$(srctree)/=)

   So the __FILE__ shouldn't be using the full path.  However
   arch/x86/boot/compressed/Makefile has this:

   KBUILD_CFLAGS := -m$(BITS) -O2

   So that clears KBUILD_FLAGS, removing the -fmacro-prefix-map option.
]

Other architectures do not clear the flags, but instead prune before
adding boot or specific options. There's no obvious reason why x86 isn't
doing the same thing (pruning vs clearing) and no build or boot issues
have been observed.

So we make x86 can do the same thing, and we no longer have embedded paths.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-08-08 23:39:26 -04:00
arch arch/x86/boot: use prefix map to avoid embedded paths 2019-08-08 23:39:26 -04:00
block blk-mq: free hw queue's resource in hctx's release handler 2019-05-25 18:21:57 +02:00
certs kbuild: remove redundant target cleaning on failure 2019-01-06 09:46:51 +09:00
crypto crypto: ccm - fix incompatibility between "ccm" and "ccm_base" 2019-05-22 07:38:55 +02:00
Documentation This is the 5.0.19 stable release 2019-05-29 22:39:08 -04:00
drivers This is the 5.0.19 stable release 2019-05-29 22:39:08 -04:00
firmware kbuild: change filechk to surround the given command with { } 2019-01-06 09:46:51 +09:00
fs This is the 5.0.19 stable release 2019-05-29 22:39:08 -04:00
include This is the 5.0.19 stable release 2019-05-29 22:39:08 -04:00
init This is the 5.0.17 stable release 2019-05-17 16:54:36 -04:00
ipc ipc: IPCMNI limit check for semmni 2018-10-31 08:54:14 -07:00
kernel This is the 5.0.19 stable release 2019-05-29 22:39:08 -04:00
lib x86/mm/mem_encrypt: Disable all instrumentation for early SME setup 2019-05-25 18:22:29 +02:00
LICENSES This is a fairly typical cycle for documentation. There's some welcome 2018-10-24 18:01:11 +01:00
mm This is the 5.0.19 stable release 2019-05-29 22:39:08 -04:00
net This is the 5.0.19 stable release 2019-05-29 22:39:08 -04:00
samples samples: mei: use /dev/mei0 instead of /dev/mei 2019-01-30 15:24:45 +01:00
scripts This is the 5.0.19 stable release 2019-05-29 22:39:08 -04:00
security This is the 5.0.19 stable release 2019-05-29 22:39:08 -04:00
sound This is the 5.0.18 stable release 2019-05-29 22:09:34 -04:00
tools This is the 5.0.19 stable release 2019-05-29 22:39:08 -04:00
usr initramfs: allow an optional wrapper script around initramfs generation 2019-03-04 11:37:39 -05:00
virt KVM: fix KVM_CLEAR_DIRTY_LOG for memory slots of unaligned size 2019-05-25 18:22:29 +02:00
.clang-format clang-format: Update .clang-format with the latest for_each macro list 2019-01-19 19:26:06 +01:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.get_maintainer.ignore Add hch to .get_maintainer.ignore 2015-08-21 14:30:10 -07:00
.gitattributes .gitattributes: set git diff driver for C source code files 2016-10-07 18:46:30 -07:00
.gitignore kbuild: Add support for DT binding schema checks 2018-12-13 09:41:32 -06:00
.mailmap A few early MIPS fixes for 4.21: 2019-01-05 12:48:25 -08:00
COPYING COPYING: use the new text with points to the license files 2018-03-23 12:41:45 -06:00
CREDITS CREDITS/MAINTAINERS: Retire parisc-linux.org email domain 2019-02-21 20:16:10 +01:00
Kbuild kbuild: use assignment instead of define ... endef for filechk_* rules 2019-01-06 10:22:35 +09:00
Kconfig kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt 2018-08-02 08:06:55 +09:00
MAINTAINERS aufs4: base 2019-03-05 20:19:33 -05:00
Makefile This is the 5.0.19 stable release 2019-05-29 22:39:08 -04:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

Linux kernel

There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML and PDF. Please read Documentation/admin-guide/README.rst first.

In order to build the documentation, use make htmldocs or make pdfdocs. The formatted documentation can also be read online at:

https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory, several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the requirements for building and running the kernel, and information about the problems which may result by upgrading your kernel.