summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/syscall.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/include/asm/syscall.h')
-rw-r--r--arch/arm/include/asm/syscall.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/include/asm/syscall.h b/arch/arm/include/asm/syscall.h
index fd02761ba06c..f055e846a5cc 100644
--- a/arch/arm/include/asm/syscall.h
+++ b/arch/arm/include/asm/syscall.h
@@ -22,7 +22,10 @@ extern const unsigned long sys_call_table[];
static inline int syscall_get_nr(struct task_struct *task,
struct pt_regs *regs)
{
- return task_thread_info(task)->syscall;
+ if (IS_ENABLED(CONFIG_AEABI) && !IS_ENABLED(CONFIG_OABI_COMPAT))
+ return task_thread_info(task)->abi_syscall;
+
+ return task_thread_info(task)->abi_syscall & __NR_SYSCALL_MASK;
}
static inline void syscall_rollback(struct task_struct *task,