diff options
author | Josh Poimboeuf <jpoimboe@redhat.com> | 2022-04-18 09:50:34 -0700 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-04-22 12:32:02 +0200 |
commit | 3c6f9f77e6188ca4d283633d66e91b3821a505ae (patch) | |
tree | 406b1ae2c210c0e462df518a7a52ad5bedb96df6 /mm/debug.c | |
parent | 7dce62041ac34b613a5ed1bd937117e492e06dc8 (diff) | |
download | linux-3c6f9f77e6188ca4d283633d66e91b3821a505ae.tar.gz linux-3c6f9f77e6188ca4d283633d66e91b3821a505ae.tar.bz2 linux-3c6f9f77e6188ca4d283633d66e91b3821a505ae.zip |
objtool: Rework ibt and extricate from stack validation
Extricate ibt from validate_branch() so they can be executed (or ported)
independently from each other.
While shuffling code around, simplify and improve the ibt logic:
- Ignore an explicit list of known sections which reference functions
for reasons other than indirect branching to them. This helps prevent
unnnecesary sealing.
- Warn on missing !ENDBR for all other sections, not just .data and
.rodata. This finds additional warnings, because there are sections
other than .[ro]data which reference function pointers. For example,
the ksymtab sections which are used for exporting symbols.
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Link: https://lkml.kernel.org/r/fd1435e46bb95f81031b8fb1fa360f5f787e4316.1650300597.git.jpoimboe@redhat.com
Diffstat (limited to 'mm/debug.c')
0 files changed, 0 insertions, 0 deletions