Re: permission() bug?

From: Andreas Gruenbacher
Date: Sun Feb 01 2004 - 22:56:21 EST


On Sun, 2004-02-01 at 22:14, Andrew Morton wrote:
> Andreas Gruenbacher <agruen@xxxxxxx> wrote:
> >
> > the fix for permission() that makes it compliant with POSIX.1-2001
> > apparently was lost. Here is the patch I sent before. (The relevant
> > lines from the standard text are cited in
> > http://www.ussg.iu.edu/hypermail/linux/kernel/0310.2/0286.html. The fix
> > proposed in that posting did not handle directories without execute
> > permissions correctly.)
>
> Question is: should we fix it? I'm not aware of any bug reports against
> this behaviour, and there is the possibility that changing it now will
> break some applications.

We certainly should fix this bug. Michael Kerrisk has compared other
UNIXes in
http://linux.derkeiler.com/Mailing-Lists/Kernel/2003-10/6030.html; this
shows slightly better what is wrong. That message does not cover the
directory case though; for directories, execute access is always granted
to privileged users.

I don't expect any applications to break. We have had the patch I
attached to the previous message (not the one in the old messages!) in
the SUSE 2.6 kernel since roughtly two months now; it has undergone a
lot of testing.

> Yes, those applications are presumably broken on other OS's but that's
> different.
>
> Given that this has been a longstanding misbehaviour in Linux (yes?) maybe
> the most prudent path is to remain bug-compatible?

Andries has already answered this. (Thank you!)

> I'll add the patch to -mm so we can pick up any obvious userspace breakage,
> but it is likely that such problems will take a long time to emerge.
> file, MAY_EXEC)

I'm fine with that as well, but I think the patch should go straight to
mainline.


Cheers,
--
Andreas Gruenbacher <agruen@xxxxxxx>
SUSE Labs, SUSE LINUX AG

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