x86/percpu: Use __force to cast from __percpu address space
authorUros Bizjak <ubizjak@gmail.com>
Tue, 2 Apr 2024 17:50:38 +0000 (19:50 +0200)
committerIngo Molnar <mingo@kernel.org>
Wed, 3 Apr 2024 06:59:15 +0000 (08:59 +0200)
commita55c1fdad5f61b4bfe42319694b23671a758cb28
tree20242f94f6d82b3204e117444bbc4f98cb7758c3
parent6a2bcf9277dcbdef88d514113434b45f8ffc5469
x86/percpu: Use __force to cast from __percpu address space

Fix Sparse warning when casting from __percpu address space by using
__force in the cast. x86 named address spaces are not considered to
be subspaces of the generic (flat) address space, so explicit casts
are required to convert pointers between these address spaces and the
generic address space (the application should cast to uintptr_t and
apply the segment base offset). The cast to uintptr_t removes
__percpu address space tag and Sparse reports:

  warning: cast removes address space '__percpu' of expression

Use __force to inform Sparse that the cast is intentional.

Fixes: 9a462b9eafa6 ("x86/percpu: Use compiler segment prefix qualifier")
Reported-by: Charlemagne Lasse <charlemagnelasse@gmail.com>
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20240402175058.52649-1-ubizjak@gmail.com
Closes: https://lore.kernel.org/lkml/CAFGhKbzev7W4aHwhFPWwMZQEHenVgZUj7=aunFieVqZg3mt14A@mail.gmail.com/
arch/x86/include/asm/percpu.h