|
@@ -337,15 +337,18 @@ void syscall_trace(union uml_pt_regs *regs, int entryexit)
|
|
|
|
|
|
if (unlikely(current->audit_context)) {
|
|
|
if (!entryexit)
|
|
|
- audit_syscall_entry(current,
|
|
|
- UPT_SYSCALL_NR(®s->regs),
|
|
|
- UPT_SYSCALL_ARG1(®s->regs),
|
|
|
- UPT_SYSCALL_ARG2(®s->regs),
|
|
|
- UPT_SYSCALL_ARG3(®s->regs),
|
|
|
- UPT_SYSCALL_ARG4(®s->regs));
|
|
|
- else
|
|
|
- audit_syscall_exit(current,
|
|
|
- UPT_SYSCALL_RET(®s->regs));
|
|
|
+ audit_syscall_entry(current,
|
|
|
+ HOST_AUDIT_ARCH,
|
|
|
+ UPT_SYSCALL_NR(regs),
|
|
|
+ UPT_SYSCALL_ARG1(regs),
|
|
|
+ UPT_SYSCALL_ARG2(regs),
|
|
|
+ UPT_SYSCALL_ARG3(regs),
|
|
|
+ UPT_SYSCALL_ARG4(regs));
|
|
|
+ else {
|
|
|
+ int res = UPT_SYSCALL_RET(regs);
|
|
|
+ audit_syscall_exit(current, AUDITSC_RESULT(res),
|
|
|
+ res);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/* Fake a debug trap */
|