aboutsummaryrefslogtreecommitdiff
path: root/COPYING
diff options
context:
space:
mode:
authorPeter Zijlstra2022-03-23 23:35:01 +0100
committerPeter Zijlstra2022-04-05 10:24:40 +0200
commit7a53f408902d913cd541b4f8ad7dbcd4961f5b82 (patch)
tree7fa32e00e29db372a45fba36584ea61ebb138125 /COPYING
parentd139bca4b824ffb9731763c31b271a24b595948a (diff)
objtool: Fix SLS validation for kcov tail-call replacement
Since not all compilers have a function attribute to disable KCOV instrumentation, objtool can rewrite KCOV instrumentation in noinstr functions as per commit: f56dae88a81f ("objtool: Handle __sanitize_cov*() tail calls") However, this has subtle interaction with the SLS validation from commit: 1cc1e4c8aab4 ("objtool: Add straight-line-speculation validation") In that when a tail-call instrucion is replaced with a RET an additional INT3 instruction is also written, but is not represented in the decoded instruction stream. This then leads to false positive missing INT3 objtool warnings in noinstr code. Instead of adding additional struct instruction objects, mark the RET instruction with retpoline_safe to suppress the warning (since we know there really is an INT3). Fixes: 1cc1e4c8aab4 ("objtool: Add straight-line-speculation validation") Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20220323230712.GA8939@worktop.programming.kicks-ass.net
Diffstat (limited to 'COPYING')
0 files changed, 0 insertions, 0 deletions