CONFIG_* symbols in UAPI headers?
From: Christoph Hellwig
Date: Mon Apr 08 2019 - 08:46:55 EST
I just stumbled over the MAP_UNINITIALIZED defintion, initially
added by:
commit ea637639591def87a54cea811cbac796980cb30d
Author: Jie Zhang <jie.zhang@xxxxxxxxxx>
Date: Mon Dec 14 18:00:02 2009 -0800
nommu: fix malloc performance by adding uninitialized flag
The defintion depends on CONFIG_MMAP_ALLOW_UNINITIALIZED, which
will never be set by userspace. How is this supposed to work?
Shoudn't we define the symbol unconditionally and just turn it
into a no-op in the implementation?
There are a few similar issues, like struct elf_prstatus having
a different layout depending on CONFIG_BINFMT_ELF_FDPIC, or
MAX_SHARED_LIBS defending on CONFIG_BINFMT_SHARED_FLAT.