The slow path for traced system call entries accessed a wrong memory
location to get the number of the maximum allowed system call number.
Renumber the numbered "local" label for the correct location to avoid
collisions with actual local labels.

Signed-off-by: Michael Karcher <ker...@mkarcher.dialup.fu-berlin.de>
---
 arch/sh/kernel/entry-common.S | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/sh/kernel/entry-common.S b/arch/sh/kernel/entry-common.S
index 956a7a03b0c8..9bac5bbb67f3 100644
--- a/arch/sh/kernel/entry-common.S
+++ b/arch/sh/kernel/entry-common.S
@@ -199,7 +199,7 @@ syscall_trace_entry:
        mov.l   @(OFF_R7,r15), r7   ! arg3
        mov.l   @(OFF_R3,r15), r3   ! syscall_nr
        !
-       mov.l   2f, r10                 ! Number of syscalls
+       mov.l   6f, r10                 ! Number of syscalls
        cmp/hs  r10, r3
        bf      syscall_call
        mov     #-ENOSYS, r0
@@ -353,7 +353,7 @@ ENTRY(system_call)
        tst     r9, r8
        bf      syscall_trace_entry
        !
-       mov.l   2f, r8                  ! Number of syscalls
+       mov.l   6f, r8                  ! Number of syscalls
        cmp/hs  r8, r3
        bt      syscall_badsys
        !
@@ -392,7 +392,7 @@ syscall_exit:
 #if !defined(CONFIG_CPU_SH2)
 1:     .long   TRA
 #endif
-2:     .long   NR_syscalls
+6:     .long   NR_syscalls
 3:     .long   sys_call_table
 7:     .long   do_syscall_trace_enter
 8:     .long   do_syscall_trace_leave
-- 
2.28.0.rc1

Reply via email to