]> Pileus Git - ~andy/linux/blobdiff - arch/arm/kernel/entry-common.S
ARM: 7579/1: arch/allow a scno of -1 to not cause a SIGILL
[~andy/linux] / arch / arm / kernel / entry-common.S
index b621871dd27736153fe6792876f43f1c353a2fa5..ee81dbc6fa1028c912ce927316eaa3fd4d584061 100644 (file)
@@ -448,7 +448,10 @@ __sys_trace:
        ldmccia r1, {r0 - r6}                   @ have to reload r0 - r6
        stmccia sp, {r4, r5}                    @ and update the stack args
        ldrcc   pc, [tbl, scno, lsl #2]         @ call sys_* routine
-       b       2b
+       cmp     scno, #-1                       @ skip the syscall?
+       bne     2b
+       add     sp, sp, #S_OFF                  @ restore stack
+       b       ret_slow_syscall
 
 __sys_trace_return:
        str     r0, [sp, #S_R0 + S_OFF]!        @ save returned r0