linux-stable/include
Matt Redfearn 94fd62e764 include/uapi/linux/swab: Fix potentially missing __always_inline
[ Upstream commit defbab270d ]

Commit bc27fb68aa ("include/uapi/linux/byteorder, swab: force inlining
of some byteswap operations") added __always_inline to swab functions
and commit 283d757378 ("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: 283d757378 ("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>
2023-01-18 09:26:26 +01:00
..
acpi
asm-generic mm/khugepaged: fix GUP-fast interaction by sending IPI 2023-01-18 09:26:04 +01:00
clocksource
crypto crypto: drbg - make reseeding from get_random_bytes() synchronous 2022-06-25 11:46:41 +02:00
drm
dt-bindings
keys
kvm
linux eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD 2023-01-18 09:26:11 +01:00
math-emu
media
memory
misc
net tcp/udp: Make early_demux back namespacified. 2022-11-10 15:47:22 +01:00
pcmcia
ras
rdma
scsi scsi: stex: Properly zero out the passthrough command structure 2022-10-26 13:16:54 +02:00
soc
sound ALSA: core: Add async signal helpers 2022-08-25 11:11:37 +02:00
target
trace spmi: trace: fix stack-out-of-bound access in SPMI tracing functions 2022-08-25 11:11:27 +02:00
uapi include/uapi/linux/swab: Fix potentially missing __always_inline 2023-01-18 09:26:26 +01:00
video video: of_display_timing.h: include errno.h 2022-07-12 16:27:28 +02:00
xen