diff options
author | Andy Lutomirski <luto@amacapital.net> | 2014-09-05 18:13:52 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2014-09-08 17:13:55 -0400 |
commit | 81f49a8fd7088cfcb588d182eeede862c0e3303e (patch) | |
tree | e8d5ee3bb91510c0a4cb7aaab42018dfe607b35c /arch/x86/kernel/ptrace.c | |
parent | ff27f38e0ef978aee4c9f7e3a4f3403aae832de2 (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/x86/kernel/ptrace.c')
-rw-r--r-- | arch/x86/kernel/ptrace.c | 11 |
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, |