diff options
Diffstat (limited to 'arch/um')
-rw-r--r-- | arch/um/kernel/ptrace.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/arch/um/kernel/ptrace.c b/arch/um/kernel/ptrace.c index e50e60ff5d27..959b2d2490df 100644 --- a/arch/um/kernel/ptrace.c +++ b/arch/um/kernel/ptrace.c | |||
@@ -337,15 +337,18 @@ void syscall_trace(union uml_pt_regs *regs, int entryexit) | |||
337 | 337 | ||
338 | if (unlikely(current->audit_context)) { | 338 | if (unlikely(current->audit_context)) { |
339 | if (!entryexit) | 339 | if (!entryexit) |
340 | audit_syscall_entry(current, | 340 | audit_syscall_entry(current, |
341 | UPT_SYSCALL_NR(®s->regs), | 341 | HOST_AUDIT_ARCH, |
342 | UPT_SYSCALL_ARG1(®s->regs), | 342 | UPT_SYSCALL_NR(regs), |
343 | UPT_SYSCALL_ARG2(®s->regs), | 343 | UPT_SYSCALL_ARG1(regs), |
344 | UPT_SYSCALL_ARG3(®s->regs), | 344 | UPT_SYSCALL_ARG2(regs), |
345 | UPT_SYSCALL_ARG4(®s->regs)); | 345 | UPT_SYSCALL_ARG3(regs), |
346 | else | 346 | UPT_SYSCALL_ARG4(regs)); |
347 | audit_syscall_exit(current, | 347 | else { |
348 | UPT_SYSCALL_RET(®s->regs)); | 348 | int res = UPT_SYSCALL_RET(regs); |
349 | audit_syscall_exit(current, AUDITSC_RESULT(res), | ||
350 | res); | ||
351 | } | ||
349 | } | 352 | } |
350 | 353 | ||
351 | /* Fake a debug trap */ | 354 | /* Fake a debug trap */ |