Re: [PATCH 2/2] creds: __task_cred(current) doesn't needrcu_read_lock_held()

From: Oleg Nesterov
Date: Tue Sep 20 2011 - 12:42:52 EST


On 09/20, David Howells wrote:
>
> Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
>
> > Change __task_cred(task) to accept "task == current" without
> > rcu_read_lock_held(). This is what current_cred() currently does,
> > and with this change __task_cred() becomes more flexible/usable.
> >
> > Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx>
>
> NAK!
>
> If you compare carefully:
>
> > - rcu_dereference_protected(current->cred, 1)
>
> and:
>
> > - rcu_dereference_check(__t->real_cred, 0); \
>
> you'll notice they aren't quite the same in one very fundamental way.

Do you mean that this patch adds the unnecessary ACCESS_ONCE +
smp_read_barrier_depends() to current_cred() or I missed something
else?

And what do you think about (__t == current) in __task_cred ?

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/