Skip to content

Commit defbab2

Browse files
mpredfearnarndb
authored andcommitted
include/uapi/linux/swab: Fix potentially missing __always_inline
Commit bc27fb6 ("include/uapi/linux/byteorder, swab: force inlining of some byteswap operations") added __always_inline to swab functions and commit 283d757 ("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: 283d757 ("uapi/linux/stddef.h: Provide __always_inline to userspace headers") Signed-off-by: Matt Redfearn <[email protected]> Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]> Tested-by: Nathan Chancellor <[email protected]> Reviewed-by: Petr Vaněk <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
1 parent 30a0b95 commit defbab2

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

include/uapi/linux/swab.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#define _UAPI_LINUX_SWAB_H
44

55
#include <linux/types.h>
6-
#include <linux/compiler.h>
6+
#include <linux/stddef.h>
77
#include <asm/bitsperlong.h>
88
#include <asm/swab.h>
99

0 commit comments

Comments
 (0)