[PATCH 1/7] xfs: fix dentry aliasing issues in open_by_handle

Dave Chinner david at fromorbit.com
Tue Jan 13 19:57:16 CST 2009


On Mon, Jan 12, 2009 at 10:39:34AM -0500, Christoph Hellwig wrote:
> On Mon, Jan 12, 2009 at 10:33:06AM +1100, Dave Chinner wrote:
> > That should probably be namespaced correctly because it won't be
> > static on debug builds. i.e.  xfs_handle_acceptable()
> 
> Ok.
> 
> > The args in this function are back to front compared to all the
> > other functions - the others are (filp, arg), this one is the
> > opposite.
> 
> Yeah, I first had all this way and then changed it around to match
> the non-handle ioctls more closely but forgot this one.
> 
> Updated patch below:
> 
> ---
> 
> Subject: xfs: fix dentry aliasing issues in open_by_handle
> From: Christoph Hellwig <hch at lst.de>
> 
> Open by handle just grabs an inode by handle and then creates itself
> a dentry for it.  While this works for regular files it is horribly
> broken for directories, where the VFS locking relies on the fact that
> there is only just one single dentry for a given inode, and that
> these are always connected to the root of the filesystem so that
> it's locking algorithms work (see Documentations/filesystems/Locking)
> 
> Remove all the existing open by handle code and replace it with a small
> wrapper around the exportfs code which deals with all these issues.
> At the same time we also make the checks for a valid handle strict
> enough to reject all not perfectly well formed handles - given that
> we never hand out others that's okay and simplifies the code.
> 
> 
> Signed-off-by: Christoph Hellwig <hch at lst.de>

Reviewed-by: Dave Chinner <david at fromorbit.com>

-- 
Dave Chinner
david at fromorbit.com




More information about the xfs mailing list