diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2020-07-23 00:59:57 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2020-07-24 15:59:03 +0300 |
commit | a9f3a74a29af095f3e1b89e9176f8127912ae0f0 (patch) | |
tree | b21efe2125aaf7d3ff9c336927be6e0abd26628e /drivers/regulator/virtual.c | |
parent | 142781e108b13b2b0e8f035cfb5bfbbc8f14d887 (diff) | |
download | linux-a9f3a74a29af095f3e1b89e9176f8127912ae0f0.tar.xz |
entry: Provide generic syscall exit function
Like syscall entry all architectures have similar and pointlessly different
code to handle pending work before returning from a syscall to user space.
1) One-time syscall exit work:
- rseq syscall exit
- audit
- syscall tracing
- tracehook (single stepping)
2) Preparatory work
- Exit to user mode loop (common TIF handling).
- Architecture specific one time work arch_exit_to_user_mode_prepare()
- Address limit and lockdep checks
3) Final transition (lockdep, tracing, context tracking, RCU). Invokes
arch_exit_to_user_mode() to handle e.g. speculation mitigations
Provide a generic version based on the x86 code which has all the RCU and
instrumentation protections right.
Provide a variant for interrupt return to user mode as well which shares
the above #2 and #3 work items.
After syscall_exit_to_user_mode() and irqentry_exit_to_user_mode() the
architecture code just has to return to user space. The code after
returning from these functions must not be instrumented.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lkml.kernel.org/r/20200722220519.613977173@linutronix.de
Diffstat (limited to 'drivers/regulator/virtual.c')
0 files changed, 0 insertions, 0 deletions