diff --git a/arch/arm/core/swap_helper.S b/arch/arm/core/swap_helper.S index 8ec52a4b813..52549a710e5 100644 --- a/arch/arm/core/swap_helper.S +++ b/arch/arm/core/swap_helper.S @@ -451,7 +451,7 @@ _do_syscall: ldr r1, =z_arm_do_syscall str r1, [r0, #24] /* overwrite the PC to point to z_arm_do_syscall */ - /* validate syscall limit, only set priv mode if valid */ + /* validate syscall limit */ ldr ip, =K_SYSCALL_LIMIT cmp r6, ip blt valid_syscall_id @@ -460,6 +460,8 @@ _do_syscall: str r6, [r0, #0] ldr r6, =K_SYSCALL_BAD + /* Bad syscalls treated as valid syscalls with ID K_SYSCALL_BAD. */ + valid_syscall_id: push {r0, r1} ldr r0, =_kernel