On Thu, May 16, 2019 at 05:22:59PM +0100, Al Viro wrote: > On Thu, May 16, 2019 at 12:52:04PM +0100, David Howells wrote: > > > > Hi Linus, Al, > > > > Here are some patches that make changes to the mount API UAPI and two of > > them really need applying, before -rc1 - if they're going to be applied at > > all. > > I'm fine with 2--4, but I'm not convinced that cloexec-by-default crusade > makes any sense. Could somebody give coherent arguments in favour of > abandoning the existing conventions? To elaborate: existing syscalls (open, socket, pipe, accept, epoll_create, etc., etc.) are not cloexec-by-default and that's not going to change, simply because it would be break the living hell out of existing userland code. IOW, the userland has to worry about leaking stuff over sensitive execve(), no matter what. All this change does is complicate things for userland programmer - which syscall belongs to which class. Where's the benefit? I could buy an argument about gradually changing over to APIs that are cloexec-by-default across the board, except for the obvious fact that it's not going to happen; not with the things like open() involved.