Re: [PATCH] introduce get_task_pid() to fix unsafe get_pid()

From: Eric W. Biederman
Date: Mon Sep 11 2006 - 00:57:48 EST


Oleg Nesterov <oleg@xxxxxxxxxx> writes:

> On 09/10, Eric W. Biederman wrote:
>>
>> As for the functions can we build them in all 4 varieties.
>> struct pid *get_task_pid(struct task *);
>> struct pid *get_task_tgid(struct task *);
>> struct pid *get_task_pgrp(struct task *);
>> struct pid *get_task_session(struct task *);
>
> Something like the patch below?

Yes something like that. Although it doesn't provide for the
get_task_tgid case, and your patch only get_task_pid.

>> Either that or we can just drop in some rcu_read_lock() rcu_read_unlock()
>> into the call sites.
>
> Possible. I don't have a strong opinion, please feel free to send
> a different patch.

I just might. Coming up with an idiom that is hard to get wrong,
is desirable here, or at least with an idiom that is consistent.

I need to sleep on it before I can answer which way we handle that.
The pain with a new idiom is that I will have to update all of the
users so all of the examples in the kernel are consistent.

I might just need to do that anyway, but...


Eric
-
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/