public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Rewrite ret_from_fork() in C
@ 2023-06-23 22:55 Brian Gerst
  2023-06-23 22:55 ` [PATCH v2 1/2] x86/32: Remove schedule_tail_wrapper() Brian Gerst
  2023-06-23 22:55 ` [PATCH v2 2/2] x86: Rewrite ret_from_fork() in C Brian Gerst
  0 siblings, 2 replies; 16+ messages in thread
From: Brian Gerst @ 2023-06-23 22:55 UTC (permalink / raw)
  To: linux-kernel, x86
  Cc: Thomas Gleixner, Borislav Petkov, H . Peter Anvin, Peter Zijlstra,
	Sami Tolvanen, alyssa.milburn, keescook, jpoimboe, joao,
	tim.c.chen, Brian Gerst

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


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2023-07-21  9:21 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-23 22:55 [PATCH v2 0/2] Rewrite ret_from_fork() in C Brian Gerst
2023-06-23 22:55 ` [PATCH v2 1/2] x86/32: Remove schedule_tail_wrapper() Brian Gerst
2023-07-10  8:13   ` [tip: x86/urgent] " tip-bot2 for Brian Gerst
2023-06-23 22:55 ` [PATCH v2 2/2] x86: Rewrite ret_from_fork() in C Brian Gerst
2023-07-10  8:13   ` [tip: x86/urgent] " tip-bot2 for Brian Gerst
2023-07-19 15:21   ` [PATCH v2 2/2] " Petr Mladek
2023-07-19 20:02     ` Peter Zijlstra
2023-07-19 20:15       ` Peter Zijlstra
2023-07-19 20:50         ` Peter Zijlstra
2023-07-19 23:31           ` Josh Poimboeuf
2023-07-20  5:22             ` Peter Zijlstra
2023-07-20  9:28               ` Peter Zijlstra
2023-07-20  8:18         ` Petr Mladek
2023-07-21  9:20         ` [tip: x86/urgent] x86: Fix kthread unwind tip-bot2 for Peter Zijlstra
2023-07-19 20:33     ` [PATCH v2 2/2] x86: Rewrite ret_from_fork() in C Joe Lawrence
2023-07-19 20:41       ` Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox