This reverts commit 8b4b9f27e57584f3d90e0bb84cf800ad81cfe3a1. which broke audit and potentially other users of syscall_get_nr() which depend on that call as named without being overloaded by architecture bits.
This patch along with seccomp: give BPF x32 bit when restoring x32 filter will satisfy other regular users of syscall_get_nr() and syscall_get_arch() without changing the seccomp interface to BPF. Cc: Paul Moore <pmo...@redhat.com> Cc: Eric Paris <epa...@redhat.com> Cc: Al Viro <av...@redhat.com> Cc: Will Drewry <w...@chromium.org> Cc: H. Peter Anvin <h...@zytor.com> Signed-off-by: Richard Guy Briggs <r...@redhat.com> Link: http://lkml.kernel.org/r/cover.1405023592.git....@redhat.com --- arch/x86/include/asm/syscall.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/syscall.h b/arch/x86/include/asm/syscall.h index d58b6be..8c1bb2b 100644 --- a/arch/x86/include/asm/syscall.h +++ b/arch/x86/include/asm/syscall.h @@ -30,13 +30,13 @@ extern const sys_call_ptr_t sys_call_table[]; */ static inline int syscall_get_nr(struct task_struct *task, struct pt_regs *regs) { - return regs->orig_ax; + return regs->orig_ax & __SYSCALL_MASK; } static inline void syscall_rollback(struct task_struct *task, struct pt_regs *regs) { - regs->ax = regs->orig_ax; + regs->ax = regs->orig_ax & __SYSCALL_MASK; } static inline long syscall_get_error(struct task_struct *task, -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/