Thread (9 messages) 9 messages, 3 authors, 2024-11-10

Re: [PATCH 1/7] powerpc/entry: convert to common and generic entry

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2024-10-23 01:53:52
Also in: lkml

"虞陆铭" [off-list ref] writes:
quoted
Le 12/10/2024 à 05:56, Luming Yu a écrit :
quoted
convert powerpc entry code in syscall and fault to use syscall_work
and irqentry_state as well as common calls implemented in generic
entry infrastructure.

Signed-off-by: Luming Yu <redacted>
---
  arch/powerpc/Kconfig                   | 1 +
  arch/powerpc/include/asm/hw_irq.h      | 5 +++++
  arch/powerpc/include/asm/processor.h   | 6 ++++++
  arch/powerpc/include/asm/syscall.h     | 5 +++++
  arch/powerpc/include/asm/thread_info.h | 1 +
  arch/powerpc/kernel/syscall.c          | 5 ++++-
  arch/powerpc/mm/fault.c                | 3 +++
  7 files changed, 25 insertions(+), 1 deletion(-)
...
quoted
diff --git a/arch/powerpc/kernel/syscall.c b/arch/powerpc/kernel/syscall.c
index 77fedb190c93..e0338bd8d383 100644
--- a/arch/powerpc/kernel/syscall.c
+++ b/arch/powerpc/kernel/syscall.c
@@ -3,6 +3,7 @@
  #include <linux/compat.h>
  #include <linux/context_tracking.h>
  #include <linux/randomize_kstack.h>
+#include <linux/entry-common.h>
  
  #include <asm/interrupt.h>
  #include <asm/kup.h>
@@ -131,7 +132,7 @@ notrace long system_call_exception(struct pt_regs *regs, unsigned long r0)
  		 * and the test against NR_syscalls will fail and the return
  		 * value to be used is in regs->gpr[3].
  		 */
-		r0 = do_syscall_trace_enter(regs);
+		r0 = syscall_enter_from_user_mode(regs, r0);
Can you provide details on how this works ?
I assume the common entry would take over th details.
So I just made the switch from the high level call.

As you said as the subtle ABI requirement about regs->r3 needs to
be restored, I'm wondering which test can capture the lost
ABI feature. As simple Boot test is insufficient, what is the test set
that can capture it?
The seccomp selftest did exercise it back when I originally wrote that
code. I don't know for sure that it still does, but that would be a good
start.

It's in tools/testing/selftests/seccomp/

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help