Re: [PATCH v2 1/5] fs: Add support for an O_MAYEXEC flag on sys_open()
From: James Morris
Date: Mon Sep 09 2019 - 06:14:22 EST
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).