From: Mickaël Salaün <m...@digikod.net> > Sent: 07 May 2020 10:30 > On 07/05/2020 11:00, David Laight wrote: > > From: Mickaël Salaün > >> Sent: 07 May 2020 09:37 > > ... > >>> None of that description actually says what the patch actually does. > >> > >> "Add support for O_MAYEXEC" "to enable to control script execution". > >> What is not clear here? This seems well understood by other commenters. > >> The documentation patch and the talks can also help. > > > > I'm guessing that passing O_MAYEXEC to open() requests the kernel > > check for execute 'x' permissions (as well as read). > > Yes, but only with openat2().
It can't matter if the flag is ignored. It just means the kernel isn't enforcing the policy. If openat2() fail because the flag is unsupported then the application will need to retry without the flag. So if the user has any ability create executable files this is all pointless (from a security point of view). The user can either copy the file or copy in an interpreter that doesn't request O_MAYEXEC. It might stop accidental issues, but nothing malicious. > > Then kernel policy determines whether 'read' access is actually enough, > > or whether 'x' access (possibly masked by mount permissions) is needed. > > > > If that is true, two lines say what is does. > > The "A simple system-wide security policy" paragraph introduce that, but > I'll highlight it in the next cover letter. No it doesn't. It just says there is some kind of policy that some flags change. It doesn't say what is being checked for. > The most important point is > to understand why it is required, before getting to how it will be > implemented. But you don't say what is required. Just a load of buzzword ramblings. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)