aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@amacapital.net>2014-09-05 18:13:52 -0400
committerH. Peter Anvin <hpa@linux.intel.com>2014-09-08 17:13:55 -0400
commit81f49a8fd7088cfcb588d182eeede862c0e3303e (patch)
treee8d5ee3bb91510c0a4cb7aaab42018dfe607b35c /arch
parentff27f38e0ef978aee4c9f7e3a4f3403aae832de2 (diff)
x86, x32, audit: Fix x32's AUDIT_ARCH wrt audit
is_compat_task() is the wrong check for audit arch; the check should be is_ia32_task(): x32 syscalls should be AUDIT_ARCH_X86_64, not AUDIT_ARCH_I386. CONFIG_AUDITSYSCALL is currently incompatible with x32, so this has no visible effect. Signed-off-by: Andy Lutomirski <luto@amacapital.net> Link: http://lkml.kernel.org/r/a0138ed8c709882aec06e4acc30bfa9b623b8717.1409954077.git.luto@amacapital.net Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/ptrace.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
index 93c182a00506..39296d25708c 100644
--- a/arch/x86/kernel/ptrace.c
+++ b/arch/x86/kernel/ptrace.c
@@ -1441,15 +1441,6 @@ void send_sigtrap(struct task_struct *tsk, struct pt_regs *regs,
1441 force_sig_info(SIGTRAP, &info, tsk); 1441 force_sig_info(SIGTRAP, &info, tsk);
1442} 1442}
1443 1443
1444
1445#ifdef CONFIG_X86_32
1446# define IS_IA32 1
1447#elif defined CONFIG_IA32_EMULATION
1448# define IS_IA32 is_compat_task()
1449#else
1450# define IS_IA32 0
1451#endif
1452
1453/* 1444/*
1454 * We must return the syscall number to actually look up in the table. 1445 * We must return the syscall number to actually look up in the table.
1455 * This can be -1L to skip running any syscall at all. 1446 * This can be -1L to skip running any syscall at all.
@@ -1487,7 +1478,7 @@ long syscall_trace_enter(struct pt_regs *regs)
1487 if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) 1478 if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT)))
1488 trace_sys_enter(regs, regs->orig_ax); 1479 trace_sys_enter(regs, regs->orig_ax);
1489 1480
1490 if (IS_IA32) 1481 if (is_ia32_task())
1491 audit_syscall_entry(AUDIT_ARCH_I386, 1482 audit_syscall_entry(AUDIT_ARCH_I386,
1492 regs->orig_ax, 1483 regs->orig_ax,
1493 regs->bx, regs->cx, 1484 regs->bx, regs->cx,