On 02/21/2018 05:55 PM, Ram Pai wrote: > +static inline int arch_reserved_keys(void) > +{ > +#if defined(__i386__) || defined(__x86_64__) /* arch */ > + return NR_RESERVED_PKEYS; > +#elif __powerpc64__ /* arch */ > + if (sysconf(_SC_PAGESIZE) == 4096) > + return NR_RESERVED_PKEYS_4K; > + else > + return NR_RESERVED_PKEYS_64K; > +#else /* arch */ > + NOT SUPPORTED > +#endif /* arch */ > +} Yeah, this is hideous. Please either do it in one header: #ifdef x86.. static inline int arch_reserved_keys(void) { } ... #elif ppc static inline int arch_reserved_keys(void) { } ... #else #error #endif Or in multiple: #ifdef x86.. #include <pkey_x86.h> #elif ppc #include <pkey_ppc.h> #else #error #endif