Re: [git pull] apparmor fix for __d_path() misuse

From: Al Viro
Date: Wed Dec 07 2011 - 11:32:59 EST


On Wed, Dec 07, 2011 at 05:59:49PM +0900, Tetsuo Handa wrote:
> Al Viro wrote:
> > BTW, what your current code does if you have a file bound on another
> > file, open it, umount -l it, let the dust settle and then do some operation
> > that triggers tomoyo_get_absolute_path() on it? Because you'll be getting
> > a vfsmount/dentry pair that has
> > * dentry == vfsmount->mnt_root
> > * vfsmount->mnt_parent == vfsmount
> > * dentry->d_inode being a non-directory
> > and there is nothing whatsoever in what remains of the pathname. Not a single
> > component. IOW, you'll get "/" in buf. Might be good in a testsuite - is
> > there any code in security/tomoyo that would be relying on assumption that
> > only directory might have a name entirely without components?
>
> TOMOYO assumes that only directory ends with '/'.

Then it's broken in the current mainline (and had been for as long as it
had been using __d_path()). Because that's all you'll get from it
for such vfsmount/dentry pair...

> Among above three results, the last one will be the best.

OK, I'm fine with your patch; for bisectability sake it ought to go before
mine, with mine on top of it.

How will we do that? Should I put it into vfs.git#for-linus before __d_path()
patch and ask Linus to pull that?
--
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/