Re: [nameidata 1/2] Don't pass NULL nameidata to vfs_create

Christoph Hellwig
2007-04-16T16:45:07Z

On Mon, Apr 16, 2007 at 06:40:41PM +0200, Andreas Gruenbacher wrote:
> On Monday 16 April 2007 18:21, Christoph Hellwig wrote:
> > But anyway, creating fake nameidata structures is not really helpful.
> > If there is a nameidata passed people expect it to be complete, and
> > if you pass them to an LSM people will e.g. try to look into lookup
> > intents.
>
> I don't actually agree with that: when nfsd creates a file, it still is a file
> create no matter where it originates from, and so it does make sense to
> provide the appropriate intent information too. Struct nameidata contains
> other crap only needed during an actual lookup too --- that's a mess, and the

You should provide intent information, yes - which your patch didn't :)

And yes, I didn't like doing the ugly intent in nameidata hack, it's
creating loads of problems for various parties, e.g. the stackable
filesystem folks. Now the basic intent in nameidata mistaken has been
made even worse by passing back a struct file in it conditionally and
doing lots of work in ->lookup that shouldn't be there. (Which btw,
I expect to cause quite a few problems for apparmor or other lsms,
but I guess so far no one has tried them on NFSv4)