|
@@ -20,12 +20,12 @@ void handle_syscall(struct uml_pt_regs *r)
|
|
|
UPT_SYSCALL_NR(r) = PT_SYSCALL_NR(r->gp);
|
|
|
PT_REGS_SET_SYSCALL_RETURN(regs, -ENOSYS);
|
|
|
|
|
|
- /* Do the secure computing check first; failures should be fast. */
|
|
|
- if (secure_computing(NULL) == -1)
|
|
|
+ if (syscall_trace_enter(regs))
|
|
|
return;
|
|
|
|
|
|
- if (syscall_trace_enter(regs))
|
|
|
- goto out;
|
|
|
+ /* Do the seccomp check after ptrace; failures should be fast. */
|
|
|
+ if (secure_computing(NULL) == -1)
|
|
|
+ return;
|
|
|
|
|
|
/* Update the syscall number after orig_ax has potentially been updated
|
|
|
* with ptrace.
|
|
@@ -37,6 +37,5 @@ void handle_syscall(struct uml_pt_regs *r)
|
|
|
PT_REGS_SET_SYSCALL_RETURN(regs,
|
|
|
EXECUTE_SYSCALL(syscall, regs));
|
|
|
|
|
|
-out:
|
|
|
syscall_trace_leave(regs);
|
|
|
}
|