Re: [PATCH 2/3] uapi: get rid of STATX_ALL

From: Miklos Szeredi
Date: Thu Oct 18 2018 - 10:32:11 EST


On Thu, Oct 18, 2018 at 3:15 PM, Florian Weimer <fw@xxxxxxxxxxxxx> wrote:
> * Miklos Szeredi:
>
>> #define STATX__RESERVED 0x80000000U /* Reserved for future struct statx expansion */
>
> What about this? Isn't it similar to STATX_ALL in the sense that we
> don't know yet what it will mean?

Kernel will return -EINVAL if request_mask contains STATX__RESERVED,
so it's definitely different from other flag values.

Specifying this in the UAPI sort of implies that other flag values
will *not* need a struct statx expansion, so it's safe to pass in any
random value not containing STATX__RESERVED on any past or future
kernel and it will not write beyond the current struct statx boundary.
Not sure if that's a useful thing or not, but it's not actively
harmful, like the STATX_ALL flag.

Thanks,
Miklos