Hello Aleksa, On 2/2/20 4:19 PM, Aleksa Sarai wrote: > Rather than trying to merge the new syscall documentation into open.2 > (which would probably result in the man-page being incomprehensible), > instead the new syscall gets its own dedicated page with links between > open(2) and openat2(2) to avoid duplicating information such as the list > of O_* flags or common errors. > > In addition to describing all of the key flags, information about the > extensibility design is provided so that users can better understand why > they need to pass sizeof(struct open_how) and how their programs will > work across kernels. After some discussions with David Laight, I also > included explicit instructions to zero the structure to avoid issues > when recompiling with new headers.> > Signed-off-by: Aleksa Sarai <cyphar@xxxxxxxxxx> I'm just editing this page, and have a question on one piece. > +Unlike > +.BR openat (2), > +it is an error to provide > +.BR openat2 () > +with a > +.I mode > +which contains bits other than > +.IR 0777 , This piece appears not to be true, both from my reading of the source code, and from testing (i.e., I wrote a a small program that successfully called openat2() and created a file that had the set-UID, set-GID, and sticky bits set). Is this a bug in the implementation or a bug in the manual page text? Thanks, Michael -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/