summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Redfearn <matt.redfearn@mips.com>2022-09-27 14:52:56 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-01-07 12:07:28 +0100
commit4e0b6364d064db98f5161e9b696c96d5d4525c9e (patch)
tree4affa784bcbe01f2b70fe085d05bf14551e429b7
parent7f43b9a984830f3b8273458070d6020d48d38d84 (diff)
downloadlinux-stable-4e0b6364d064db98f5161e9b696c96d5d4525c9e.tar.gz
linux-stable-4e0b6364d064db98f5161e9b696c96d5d4525c9e.tar.bz2
linux-stable-4e0b6364d064db98f5161e9b696c96d5d4525c9e.zip
include/uapi/linux/swab: Fix potentially missing __always_inline
[ Upstream commit defbab270d45e32b068e7e73c3567232d745c60f ] Commit bc27fb68aaad ("include/uapi/linux/byteorder, swab: force inlining of some byteswap operations") added __always_inline to swab functions and commit 283d75737837 ("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: 283d75737837 ("uapi/linux/stddef.h: Provide __always_inline to userspace headers") Signed-off-by: Matt Redfearn <matt.redfearn@mips.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Tested-by: Nathan Chancellor <nathan@kernel.org> Reviewed-by: Petr Vaněk <arkamar@atlas.cz> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--include/uapi/linux/swab.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/uapi/linux/swab.h b/include/uapi/linux/swab.h
index 51502eabdb05..0915a8781eae 100644
--- a/include/uapi/linux/swab.h
+++ b/include/uapi/linux/swab.h
@@ -2,7 +2,7 @@
#define _UAPI_LINUX_SWAB_H
#include <linux/types.h>
-#include <linux/compiler.h>
+#include <linux/stddef.h>
#include <asm/bitsperlong.h>
#include <asm/swab.h>