Revert "csky: Add support for restartable sequence"
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 23 Jul 2021 16:16:00 +0000 (12:16 -0400)
committerGuo Ren <guoren@linux.alibaba.com>
Fri, 11 Nov 2022 09:59:28 +0000 (04:59 -0500)
This reverts commit 9866d141a0977ace974400bf1f793dfc163409ce.

The csky rseq support has been merged without ever notifying the rseq
maintainers, and without any of the required asssembler glue in the rseq
selftests, which means it is entirely untested.

It is also derived from a non-upstream riscv patch which has known bugs.

The assembly part of this revert should be carefully reviewed by the
architecture maintainer because it touches code which has changed since
the merge of the reverted patch.

The rseq selftests assembly glue should be introduced at the same time
as the architecture rseq support. Without the presence of any test, I
recommend reverting rseq support from csky for now.

Link: https://lore.kernel.org/lkml/1257037909.25426.1626705790861.JavaMail.zimbra@efficios.com/
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Guo Ren <guoren@kernel.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-csky@vger.kernel.org
arch/csky/Kconfig
arch/csky/kernel/entry.S
arch/csky/kernel/signal.c

index e0ecd1cc81a94a80206499e77276783a21aeb4b6..dba02da6fa344ca5dbeeab2bd106d06fd3332136 100644 (file)
@@ -94,7 +94,6 @@ config CSKY
        select HAVE_PERF_USER_STACK_DUMP
        select HAVE_DMA_CONTIGUOUS
        select HAVE_REGS_AND_STACK_ACCESS_API
-       select HAVE_RSEQ
        select HAVE_STACKPROTECTOR
        select HAVE_SYSCALL_TRACEPOINTS
        select MAY_HAVE_SPARSE_IRQ
index a4b519fbb371f8aeeb3452a4d37658e9e9b1fa2b..c68cdcc76d60e4ace1a16b1d932147420619fcbd 100644 (file)
@@ -50,10 +50,6 @@ ENTRY(csky_systemcall)
        SAVE_ALL TRAP0_SIZE
        zero_fp
        context_tracking
-#ifdef CONFIG_RSEQ_DEBUG
-       mov     a0, sp
-       jbsr    rseq_syscall
-#endif
        psrset  ee, ie
 
        lrw     r9, __NR_syscalls
index b7b3685283d763ca9fb9bb1ae1c7358f1f895630..10da0fefd4319171452b3926fd172da53613ff68 100644 (file)
@@ -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 */