diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 12e6fcbd500ed1aea8cae8d4d69e9c3d0c69c5f1..a71966da30ae8d07f17b7338c12a9a43cf6423f4 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -544,6 +544,10 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs) struct thread_info *thread = current_thread_info(); siginfo_t info; + /* Emulate/fallthrough. */ + if (no == -1) + return regs->ARM_r0; + if ((no >> 16) != (__ARM_NR_BASE>> 16)) return bad_syscall(no, regs);