On 2022-09-09 22:35, Guo Ren wrote:
On Sat, Sep 10, 2022 at 4:01 AM Mathieu Desnoyers
[
A friendly ping after 1.5 year about the fact that the selftests code is
still missing for the csky architecture. So there is no way to validate
that the kernel pieces that were merged actually work on that architecture.
What is the timeline for contribution of the missing bits needed to enable
those tests ?
I would send the 1st version of patchset before 2022/10/30, or just
revert it from csky.
OK. I can help by answering questions or with code review. I'm not
fluent in csky assembly, but I'll try to learn as I go.
1. a patch for fixup the bug:
diff --git a/arch/csky/kernel/signal.c b/arch/csky/kernel/signal.c
index b7b3685283d7..434dcf2e8e37 100644
--- a/arch/csky/kernel/signal.c
+++ b/arch/csky/kernel/signal.c
@@ -179,8 +179,6 @@ static void handle_signal(struct ksignal *ksig,
struct pt_regs *regs)
sigset_t *oldset = sigmask_to_save();
int ret;
- rseq_signal_deliver(ksig, regs);
-
/* Are we from a system call? */
if (in_syscall(regs)) {
/* Avoid additional syscall restarting via ret_from_exception */
@@ -206,6 +204,8 @@ static void handle_signal(struct ksignal *ksig,
struct pt_regs *regs)
}
}
+ rseq_signal_deliver(ksig, regs);
+
/* Set up the stack frame */
ret = setup_rt_frame(ksig, oldset, regs);
Yes, this fix is really needed.
2. Add tools/testing/selftests/rseq/rseq-csky* codes.
It looks like a good plan,
Thanks,
Mathieu
Here are the required header files:
tools/testing/selftests/rseq/rseq-csky.h
tools/testing/selftests/rseq/rseq-csky-thread-pointer.h (only if __builtin_thread_pointer is not implemented by gcc)
I'm open to suggestions from other rseq co-maintainers on how to best address
this situation.
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com
--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com