diff options
author | Peter Zijlstra <peterz@infradead.org> | 2022-09-15 13:11:37 +0200 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-10-17 16:41:19 +0200 |
commit | ee3e2469b3463d28ca4cde20e0283319ac6a562d (patch) | |
tree | 958265de2b1865d821630bc175df913052ac7f25 /fs/sysfs | |
parent | 36b64f101219dd9e6e4f0ea880b64e8a90da547b (diff) | |
download | linux-ee3e2469b3463d28ca4cde20e0283319ac6a562d.tar.bz2 |
x86/ftrace: Make it call depth tracking aware
Since ftrace has trampolines, don't use thunks for the __fentry__ site
but instead require that every function called from there includes
accounting. This very much includes all the direct-call functions.
Additionally, ftrace uses ROP tricks in two places:
- return_to_handler(), and
- ftrace_regs_caller() when pt_regs->orig_ax is set by a direct-call.
return_to_handler() already uses a retpoline to replace an
indirect-jump to defeat IBT, since this is a jump-type retpoline, make
sure there is no accounting done and ALTERNATIVE the RET into a ret.
ftrace_regs_caller() does much the same and gets the same treatment.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220915111148.927545073@infradead.org
Diffstat (limited to 'fs/sysfs')
0 files changed, 0 insertions, 0 deletions