um: Handle tracehook_report_syscall_entry() result
tracehook_report_syscall_entry() is allowed to fail, in case of failure we have to abort the current syscall. Signed-off-by: Richard Weinberger <richard@nod.at>
这个提交包含在:
@@ -18,7 +18,10 @@ void handle_syscall(struct uml_pt_regs *r)
|
||||
long result;
|
||||
int syscall;
|
||||
|
||||
syscall_trace_enter(regs);
|
||||
if (syscall_trace_enter(regs)) {
|
||||
result = -ENOSYS;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/*
|
||||
* This should go in the declaration of syscall, but when I do that,
|
||||
@@ -34,6 +37,7 @@ void handle_syscall(struct uml_pt_regs *r)
|
||||
result = -ENOSYS;
|
||||
else result = EXECUTE_SYSCALL(syscall, regs);
|
||||
|
||||
out:
|
||||
PT_REGS_SET_SYSCALL_RETURN(regs, result);
|
||||
|
||||
syscall_trace_leave(regs);
|
||||
|
在新工单中引用
屏蔽一个用户