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/