Re: [PATCH] make former thread ID available via PTRACE_GETEVENTMSGafter PTRACE_EVENT_EXEC stop
From: Oleg Nesterov
Date: Wed Jun 08 2011 - 14:22:14 EST
On 06/08, Denys Vlasenko wrote:
>
> Not sure what kind of locking, if any, I need to put around
> current->parent...
Yes ;)
> @@ -1383,8 +1383,10 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
> */
> bprm->recursion_depth = depth;
> if (retval >= 0) {
> - if (depth == 0)
> - tracehook_report_exec(fmt, bprm, regs);
> + if (depth == 0) {
> + pid_t pid = task_pid_nr_ns(current, task_active_pid_ns(current->parent));
It is not safe to use ->parent. At least you need rcu lock around.
Also. At this point current has already changed its pid, you should
record pid_t before ->load_binary().
And. We have the coding style police, please use scripts/checkpatch.pl
Just in case, I'll be off-line till Monday.
Oleg.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/