mirror of https://gitee.com/openkylin/linux.git
x86/build: Enforce an empty .got.plt section
The .got.plt section should always be zero (or filled only with the linker-generated lazy dispatch entry). Enforce this with an assert and mark the section as INFO. This is more sensitive than just blindly discarding the section. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lore.kernel.org/r/20200821194310.3089815-24-keescook@chromium.org
This commit is contained in:
parent
a850958c07
commit
815d680771
|
@ -414,8 +414,20 @@ SECTIONS
|
|||
ELF_DETAILS
|
||||
|
||||
DISCARDS
|
||||
}
|
||||
|
||||
/*
|
||||
* Make sure that the .got.plt is either completely empty or it
|
||||
* contains only the lazy dispatch entries.
|
||||
*/
|
||||
.got.plt (INFO) : { *(.got.plt) }
|
||||
ASSERT(SIZEOF(.got.plt) == 0 ||
|
||||
#ifdef CONFIG_X86_64
|
||||
SIZEOF(.got.plt) == 0x18,
|
||||
#else
|
||||
SIZEOF(.got.plt) == 0xc,
|
||||
#endif
|
||||
"Unexpected GOT/PLT entries detected!")
|
||||
}
|
||||
|
||||
#ifdef CONFIG_X86_32
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue