x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 26 Mar 2020 19:30:20 +0000 (12:30 -0700)
committerBorislav Petkov <bp@suse.de>
Fri, 27 Mar 2020 10:52:11 +0000 (11:52 +0100)
commit84d5f77fc2ee4e010c2c037750e32f06e55224b0
tree8c11c8e87e8579aef57c6126ce4b0d328d67ea26
parent645e64662af4dba9eb4a80bbab2663dd22018312
x86, vmlinux.lds: Add RUNTIME_DISCARD_EXIT to generic DISCARDS

In the x86 kernel, .exit.text and .exit.data sections are discarded at
runtime, not by the linker. Add RUNTIME_DISCARD_EXIT to generic DISCARDS
and define it in the x86 kernel linker script to keep them.

The sections are added before the DISCARD directive so document here
only the situation explicitly as this change doesn't have any effect on
the generated kernel. Also, other architectures like ARM64 will use it
too so generalize the approach with the RUNTIME_DISCARD_EXIT define.

 [ bp: Massage and extend commit message. ]

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lkml.kernel.org/r/20200326193021.255002-1-hjl.tools@gmail.com
arch/x86/kernel/vmlinux.lds.S
include/asm-generic/vmlinux.lds.h