public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] x86: Rewrite ret_from_fork() in C
@ 2023-06-22 12:07 Brian Gerst
  2023-06-22 12:07 ` [PATCH 1/2] x86/32: Remove schedule_tail_wrapper() Brian Gerst
  2023-06-22 12:07 ` [PATCH 2/2] x86: Rewrite ret_from_fork() in C Brian Gerst
  0 siblings, 2 replies; 8+ messages in thread
From: Brian Gerst @ 2023-06-22 12:07 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).

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

 arch/x86/entry/entry_32.S        | 54 ++++++++------------------------
 arch/x86/entry/entry_64.S        | 35 ++++++---------------
 arch/x86/include/asm/switch_to.h |  4 ++-
 arch/x86/kernel/process.c        | 22 ++++++++++++-
 4 files changed, 47 insertions(+), 68 deletions(-)

-- 
2.41.0


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

end of thread, other threads:[~2023-06-23 18:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-22 12:07 [PATCH 0/2] x86: Rewrite ret_from_fork() in C Brian Gerst
2023-06-22 12:07 ` [PATCH 1/2] x86/32: Remove schedule_tail_wrapper() Brian Gerst
2023-06-22 12:07 ` [PATCH 2/2] x86: Rewrite ret_from_fork() in C Brian Gerst
2023-06-22 13:29   ` Peter Zijlstra
2023-06-22 16:04     ` Brian Gerst
2023-06-22 16:33       ` H. Peter Anvin
2023-06-22 17:33         ` Brian Gerst
2023-06-23 18:12   ` Brian Gerst

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