Re: [PATCH 04/12] seq_file: Make seq_file able to access the file'sopener cred

From: Al Viro
Date: Wed Sep 25 2013 - 23:03:08 EST


On Wed, Sep 25, 2013 at 05:22:51PM -0700, Linus Torvalds wrote:
> On Wed, Sep 25, 2013 at 1:14 PM, Djalal Harouni <tixxdz@xxxxxxxxxx> wrote:
> >
> > Therefor add the f_cred field to the seq_file struct and a helper
> > seq_f_cred() to return it.
>
> I hate how you've split up this patch from the next one that actually
> _initializes_ the new field.
>
> The two patches should have been one.
>
> I think the patch should also remove the 'user_ns' member, since it's
> now available as f_cred->user_ns.
>
> I also suspect that it would be better to just make the the new
> seq_file member point to the 'struct file' instead. Sure, it's an
> extra level of indirection, but the lifetime of f_cred is not as clear
> otherwise. You don't increment the reference count, which is correct
> *only* because 'seq_file' has the same lifetime as 'struct file', and
> thus the reference count from struct file for the f_cred is
> sufficient.

That's better than f_cred (or user_ns, for that matter), but... I'm
afraid that it'll get abused very soon. And I don't understand the
argument about the lifetime rules - what makes struct file ones
different from struct cred ones in that respect? Except that in this
case it's really obvious that we can't grab a reference, that is...
--
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/