On Thu, May 18, 2023 at 9:44 PM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > My point that the kernel can help here. > Since folks don't like sysctl to control FD assignment how about something like this: No. Really. The only thing that needs to happen is that people need to *know* that fd's 0/1/2 are not at all special. The thing is, it's even *traditional* to do something like close(0); close(1); close(2); and fork() twice (exiting the first child after the second fork). Usually you'd also make sure to re-set umask, and do a setsid() to make sure you're not part of the controlling terminal any more. Now, some people would then redirect /dev/null to those file descriptors, but not always: file descriptors used to be a fairly limited resource. So people would *want* to use all the file descriptors they could for whatever server connections they implemented. Including, very much, fd 0. So really. There is not a way in hell we will *EVER* consider fd 0 to be special. It isn't, it never has been, and it never shall be. Instead, just spread the word that fd 0 isn't special. The fact that you think that some completely broken C++ code was "written with high quality", and you think that is an excuse for garbage is just sad. Those C++ libraries WERE INCREDIBLE CRAP. They were buggy garbage. And no, they are in no way going to affect the kernel and make the kernel do stupid and wrong things. Linus