[PATCH -tip v3 3/3] x86/percpu: Avoid sparse warning with cast to named address space

From: Uros Bizjak
Date: Mon Dec 04 2023 - 16:03:37 EST


Teach sparse about __seg_fs and __seg_gs named address space
qualifiers to to avoid warnings about unexpected keyword at
the end of cast operator.

Reported-by: kernel test robot <lkp@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202310080853.UhMe5iWa-lkp@xxxxxxxxx/
Cc: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Signed-off-by: Uros Bizjak <ubizjak@xxxxxxxxx>
---
v3: Teach sparse about __seg_gs and __seg_fs qualifiers instead
of removing these qualifiers when __CHECKER__ is defined.
---
arch/x86/include/asm/percpu.h | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h
index 3859abad19ec..e56a37886143 100644
--- a/arch/x86/include/asm/percpu.h
+++ b/arch/x86/include/asm/percpu.h
@@ -36,6 +36,11 @@

#ifdef CONFIG_CC_HAS_NAMED_AS

+#ifdef __CHECKER__
+#define __seg_gs __attribute__((address_space(__seg_gs)))
+#define __seg_fs __attribute__((address_space(__seg_fs)))
+#endif
+
#ifdef CONFIG_X86_64
#define __percpu_seg_override __seg_gs
#else
--
2.42.0