[PATCH 04/13] Always expose MAP_UNINITIALIZED to userspace
David Howells
dhowells at redhat.com
Thu Sep 17 03:13:31 PDT 2015
Josh Triplett <josh at joshtriplett.org> wrote:
> > Sure. And 0 is perfectly fine value for the flag. Like with MAP_FILE.
>
> Rephrasing: the flag should always exist with the correct value.
> Whether the kernel handles it or not, the kernel *headers* shouldn't
> change to match the kernel, not least of which because they don't
> necessarily match the running kernel. Just like we define the
> prototypes for syscalls that the running kernel may return ENOSYS for.
Josh is correct.
CONFIG_xxx *should* *not* be seen in UAPI headers, except inside #ifdef
__KERNEL__ guards under special circumstances - and #ifdef __KERNEL__ guards
*should* *not* be seen in UAPI headers except under special circumstances.
In terms of such special circumstances, take a peek in
include/uapi/linux/acct.h at struct acct with this:
/* m68k had no padding here. */
#if !defined(CONFIG_M68K) || !defined(__KERNEL__)
__u16 ac_ahz; /* AHZ */
#endif
in the middle of it...
Or include/{,uapi/}linux/agpgart.h where it defines two different but
same-named variants of several structs.
Now, some of these - particularly things like the latter - can be fixed by
someone who has the time.
David
More information about the kexec
mailing list