Re: [PATCH v2 1/5] fs: Add support for an O_MAYEXEC flag on sys_open()

James Morris
2019-09-09T10:14:14Z

[-- Attachment #1: Type: text/plain, Size: 1211 bytes --]

On Mon, 9 Sep 2019, Mickaël Salaün wrote:

>
> On 06/09/2019 21:03, James Morris wrote:
> > On Fri, 6 Sep 2019, Jeff Layton wrote:
> >
> >> The fact that open and openat didn't vet unknown flags is really a bug.
> >>
> >> Too late to fix it now, of course, and as Aleksa points out, we've
> >> worked around that in the past. Now though, we have a new openat2
> >> syscall on the horizon. There's little need to continue these sorts of
> >> hacks.
> >>
> >> New open flags really have no place in the old syscalls, IMO.
> >
> > Agree here. It's unfortunate but a reality and Linus will reject any such
> > changes which break existing userspace.
>
> Do you mean that adding new flags to open(2) is not possible?
>
> Does it means that unspecified behaviors are definitely part of the
> Linux specification and can't be fixed?

This is my understanding.

>
> As I said, O_MAYEXEC should be ignored if it is not supported by the
> kernel, which perfectly fit with the current open(2) flags behavior, and
> should also behave the same with openat2(2).

The problem here is programs which are already using the value of
O_MAYEXEC, which will break. Hence, openat2(2).

--
James Morris
<jmorris@namei.org>