Skip to content
Unverified Commit defbab27 authored by Matt Redfearn's avatar Matt Redfearn Committed by Arnd Bergmann
Browse files

include/uapi/linux/swab: Fix potentially missing __always_inline

Commit bc27fb68 ("include/uapi/linux/byteorder, swab: force inlining
of some byteswap operations") added __always_inline to swab functions
and commit 283d7573 ("uapi/linux/stddef.h: Provide __always_inline to
userspace headers") added a definition of __always_inline for use in
exported headers when the kernel's compiler.h is not available.

However, since swab.h does not include stddef.h, if the header soup does
not indirectly include it, the definition of __always_inline is missing,
resulting in a compilation failure, which was observed compiling the
perf tool using exported headers containing this commit:

In file included from /usr/include/linux/byteorder/little_endian.h:12:0,
                 from /usr/include/asm/byteorder.h:14,
                 from tools/include/uapi/linux/perf_event.h:20,
                 from perf.h:8,
                 from builtin-bench.c:18:
/usr/include/linux/swab.h:160:8: error: unknown type name `__always_inline'
 static __always_inline __u16 __swab16p(const __u16 *p)

Fix this by replacing the inclusion of linux/compiler.h with
linux/stddef.h to ensure that we pick up that definition if required,
without relying on it's indirect inclusion. compiler.h is then included
indirectly, via stddef.h.

Fixes: 283d7573

 ("uapi/linux/stddef.h: Provide __always_inline to userspace headers")
Signed-off-by: default avatarMatt Redfearn <matt.redfearn@mips.com>
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Tested-by: default avatarNathan Chancellor <nathan@kernel.org>
Reviewed-by: default avatarPetr Vaněk <arkamar@atlas.cz>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 30a0b95b
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment