tracee context is broken when tracee call execve
This commit is contained in:
@@ -1569,8 +1569,12 @@ static int ptrace_report_exec(struct process *proc)
|
|||||||
int ptrace = proc->ftn->ptrace;
|
int ptrace = proc->ftn->ptrace;
|
||||||
|
|
||||||
if (ptrace & (PT_TRACE_EXEC|PTRACE_O_TRACEEXEC)) {
|
if (ptrace & (PT_TRACE_EXEC|PTRACE_O_TRACEEXEC)) {
|
||||||
|
ihk_mc_kernel_context_t ctx;
|
||||||
int sig = (SIGTRAP | (PTRACE_EVENT_EXEC << 8));
|
int sig = (SIGTRAP | (PTRACE_EVENT_EXEC << 8));
|
||||||
|
|
||||||
|
memcpy(&ctx, &proc->ctx, sizeof ctx);
|
||||||
ptrace_report_signal(proc, sig);
|
ptrace_report_signal(proc, sig);
|
||||||
|
memcpy(&proc->ctx, &ctx, sizeof ctx);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user