Hi,
I was looking at version from 2017-09-15 but it's the same on:
http://man7.org/linux/man-pages/man2/statx.2.html (2019-03-06)
There is reported (about the mask argument) after the list of constats:
> Note that the kernel does not reject values in mask other than the
> above. Instead, it simply informs the caller which values are sup‐
> ported by this kernel and filesystem via the statx.stx_mask field.
But as reported in the error values, there can be EINVAL if mask has a
reserved valued, and I found a check against STATX__RESERVED in
fs/stat.c for this. So if you use a that bit (0x80000000U) the kernel
will reject the value.
Probably is better to say that the kernel do not enforce the use of only
the listed values, but there are anyway reserved values so and so you
cannot put whatever you want on mask (that apply to more values than
UINT_MAX).
Regards
Simone