Re: please, remove the abuse of vfs_path_lookup() in ecryptfs

Tyler Hicks
2011-02-18T03:45:49Z

On Thu Feb 17, 2011 at 01:53:50AM +0000, Al Viro <viro@ZenIV.linux.org.uk> wrote:
> commit 21edad32205e97dc7ccb81a85234c77e760364c8 (
> ecryptfs: dont call lookup_one_len to avoid NULL nameidata) is badly
> misguided. The last thing we need is extra places where nameidata is
> passed around.

Thanks, Al. I reverted that patch and pushed it to
git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6.git#next

I'll get a pull request together for Linus in the next day or two.

>
> The current code is simply wrong - it's bypassing dcache
> lookups in new_lower_dentry(). Besides, abuse of vfs_path_lookup()
> here is a Bad Idea(tm). No, filesystems are *not* allowed to die
> if ->d_revalidate()/->lookup()/->create() are called with NULL
> nameidata.

I fixed the eCryptfs d_revalidate, lookup, and create paths to not choke
when handed NULL nameidata. I don't think we would have ever received
NULL nameidata since we don't allow eCryptfs on eCryptfs or export to
NFS.

Tyler