]> Git Repo - J-linux.git/commitdiff
Revert "csky: Fixup CONFIG_DEBUG_RSEQ"
authorMathieu Desnoyers <[email protected]>
Fri, 23 Jul 2021 16:15:59 +0000 (12:15 -0400)
committerGuo Ren <[email protected]>
Fri, 11 Nov 2022 09:59:13 +0000 (04:59 -0500)
This reverts commit f36e0aab6f1f78d770ce859df3f07a9c5763ce5f.

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/[email protected]/
Signed-off-by: Mathieu Desnoyers <[email protected]>
Signed-off-by: Guo Ren <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: [email protected]
arch/csky/kernel/entry.S

index 547b4cd1b24b4d67d34d2b2c72c027e981049f82..a4b519fbb371f8aeeb3452a4d37658e9e9b1fa2b 100644 (file)
@@ -50,11 +50,15 @@ 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
        cmphs   syscallid, r9           /* Check nr of syscall */
-       bt      1f
+       bt      ret_from_exception
 
        lrw     r9, sys_call_table
        ixw     r9, syscallid
@@ -80,11 +84,6 @@ ENTRY(csky_systemcall)
        jsr     syscallid
 #endif
        stw     a0, (sp, LSAVE_A0)      /* Save return value */
-1:
-#ifdef CONFIG_DEBUG_RSEQ
-       mov     a0, sp
-       jbsr    rseq_syscall
-#endif
        jmpi    ret_from_exception
 
 csky_syscall_trace:
@@ -113,10 +112,6 @@ csky_syscall_trace:
        stw     a0, (sp, LSAVE_A0)      /* Save return value */
 
 1:
-#ifdef CONFIG_DEBUG_RSEQ
-       mov     a0, sp
-       jbsr    rseq_syscall
-#endif
        mov     a0, sp                  /* right now, sp --> pt_regs */
        jbsr    syscall_trace_exit
        br      ret_from_exception
This page took 0.052222 seconds and 4 git commands to generate.