[PATCH v2 0/2] Rewrite ret_from_fork() in C

From: Brian Gerst
Date: Fri Jun 23 2023 - 18:56:22 EST


When kCFI is enabled, special handling is needed for the indirect call
to the kernel thread function. Handling this in pure assembly is not
simple, so moving it to C is more appropriate. Instead of moving just
the indirect call to C as Peter Zijlstra has proposed, this patchset
rewrites the whole ret_from_fork() function in C (other than some
necessary asm glue remaning).

V2:
- Fixed wrong address of pt_regs being passed
- Simplified 64-bit asm stub to not use a tail-call

Brian Gerst (2):
x86/32: Remove schedule_tail_wrapper()
x86: Rewrite ret_from_fork() in C

arch/x86/entry/entry_32.S | 53 ++++++++------------------------
arch/x86/entry/entry_64.S | 33 +++++---------------
arch/x86/include/asm/switch_to.h | 4 ++-
arch/x86/kernel/process.c | 22 ++++++++++++-
4 files changed, 45 insertions(+), 67 deletions(-)

--
2.41.0