]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
x86/vdso: Use 32-bit CHECKFLAGS for compat vDSO
authorThomas Weißschuh <thomas.weissschuh@linutronix.de>
Mon, 2 Mar 2026 07:58:37 +0000 (08:58 +0100)
committerThomas Gleixner <tglx@kernel.org>
Wed, 11 Mar 2026 09:15:42 +0000 (10:15 +0100)
When building the compat vDSO the CHECKFLAGS from the 64-bit kernel
are used. These are combined with the 32-bit CFLAGS. This confuses
sparse, producing false-positive warnings or potentially missing
real issues.

Manually override the CHECKFLAGS for the compat vDSO with the correct
32-bit configuration.

Reported-by: Sun Jian <sun.jian.kdev@gmail.com>
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patch.msgid.link/20260302-vdso-compat-checkflags-v2-1-78e55baa58ba@linutronix.de
Closes: https://lore.kernel.org/lkml/20260114084529.1676356-1-sun.jian.kdev@gmail.com/
Closes: https://lore.kernel.org/lkml/20260117215542.342638347@kernel.org/
Closes: https://lore.kernel.org/r/202602111941.PIhubgrb-lkp@intel.com/
arch/x86/entry/vdso/vdso32/Makefile

index add6afb484ba44873cc2e3a958f5e307fb44d685..ded4fc6a48cdcf94ba05e6b8fdf0884c117e8843 100644 (file)
@@ -15,6 +15,10 @@ flags-y                      := -DBUILD_VDSO32 -m32 -mregparm=0
 flags-$(CONFIG_X86_64) += -include $(src)/fake_32bit_build.h
 flags-remove-y          := -m64
 
+# Checker flags
+CHECKFLAGS := $(subst -m64,-m32,$(CHECKFLAGS))
+CHECKFLAGS := $(subst -D__x86_64__,-D__i386__,$(CHECKFLAGS))
+
 # The location of this include matters!
 include $(src)/../common/Makefile.include