arm64: make atomic helpers __always_inline
authorArnd Bergmann <arnd@arndb.de>
Fri, 8 Jan 2021 09:19:56 +0000 (10:19 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 13 Jan 2021 15:09:06 +0000 (15:09 +0000)
commitc35a824c31834d947fb99b0c608c1b9f922b4ba0
tree2882026691a800eb3702f74e06d4f32715e54a0b
parent71e70184f1d1314ad56e834d1befc07daa2af8e6
arm64: make atomic helpers __always_inline

With UBSAN enabled and building with clang, there are occasionally
warnings like

WARNING: modpost: vmlinux.o(.text+0xc533ec): Section mismatch in reference from the function arch_atomic64_or() to the variable .init.data:numa_nodes_parsed
The function arch_atomic64_or() references
the variable __initdata numa_nodes_parsed.
This is often because arch_atomic64_or lacks a __initdata
annotation or the annotation of numa_nodes_parsed is wrong.

for functions that end up not being inlined as intended but operating
on __initdata variables. Mark these as __always_inline, along with
the corresponding asm-generic wrappers.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210108092024.4034860-1-arnd@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/atomic.h
include/asm-generic/bitops/atomic.h