Re: [patch 06/14] hfsplus: remove hfsplus_permission()

From: Miklos Szeredi
Date: Thu May 22 2008 - 08:37:42 EST


> > > That check didn't used to be there and that the HFS+ check is older than
> > > that might have given you the idea that it at least used to work.
> > > So now the only way for a fs to differentiate between lookup and exec is
> > > gone... :-(
> >
> > That check was added quite some time ago:
> >
> > commit a343bb7750e6a098909c34f5c5dfddbc4fa40053
> > Author: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
> > Date: Tue Aug 22 20:06:03 2006 -0400
> >
> > VFS: Fix access("file", X_OK) in the presence of ACLs
> >
> > Also it sounds just plain wrong to allow execution without an x bit.
> > It could cause nasty surprises at least. What was the intended
> > purpose of that code, and why did nobody notice when it stopped
> > working?
>
> As I said to allow lookup on files.

That requires a quite bit more support from the VFS than just allowing
lookup to work on regular files without x bits. You'll have big
trouble with hard links for example: the VFS doesn't like non-leaf
dentries to be aliased.

Besides hfsplus_permission() did not differentiate between execve on
the file and lookup on that file, allowing both. Which is obviously
wrong.

Miklos
--
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/