Re: [RFC PATCH 1/2] vfs: syscalls: add mkdirat_fd()
From: Jori Koolstra
Date: Wed Apr 08 2026 - 17:44:37 EST
> Op 02-04-2026 04:52 CEST schreef Aleksa Sarai <cyphar@xxxxxxxxxx>:
>
> Please do not use O_* flags! O_CLOEXEC takes up 3 flag bits on different
> architectures which makes adding new flags a nightmare.
>
> I think this should take AT_* flags and (like most newer syscalls)
> O_CLOEXEC should be automatically set. Userspace can unset it with
> fnctl(F_SETFD) in the relatively rare case where they don't want
> O_CLOEXEC.
And then do something like statx_lookup_flags() does to build the lookup
flags from those AT flags? But there is also no AT_ROOT_CONTAINED (or whatever
you would want to call the RESOLVE_IN_ROOT AT-equivalent) right now.
> Alternatively, we could just bite the bullet and make
> AT_NO_CLOEXEC a thing...
What's the bullet to bite there?
>
> But yes, new syscalls *absolutely* need to take some kind of flag
> argument. I'd hoped we finally learned our lesson on that one...
>
> --
> Aleksa Sarai
> https://www.cyphar.com/
Thanks,
Jori.