Re: [PATCH v2] vfs: add NOFOLLOW flag to umount(2)

From: Al Viro
Date: Sat Feb 20 2010 - 21:01:56 EST


On Thu, Feb 11, 2010 at 12:21:00PM -0500, Christoph Hellwig wrote:
> On Wed, Feb 10, 2010 at 12:15:53PM +0100, Miklos Szeredi wrote:
> > - renamed flag to UMOUNT_NOFOLLOW
> > - added UMOUNT_UNUSED for feature detection
>
> Umm, why? MNT_ certainly isn't the best naming for unmount flags,
> but switching convention after we had a few doesn't make any sense.

Actually, I've got more interesting question: what's being attempted
there? Is that just a "let's protect ourselves against somebody feeding
us an untrusted symlink"? I'm not sure if it makes much sense; if we
are dealing with pathnames on untrusted fs, there's nothing to stop the
attacker from having /mnt/foo/dir (originally containing a mountpoint
at /mnt/foo/dir/usr) killed and replaced with a symlink to /, making any
code that does umount() on such pathnames vulnerable as hell anyway.

Lack of LOOKUP_FOLLOW affects only the last pathname component. So what
is that patch trying to make safe?
--
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/