[PATCH v2 0/5] vDSO: Use 32-bit CHECKFLAGS for compat vDSO
Thomas Weißschuh
thomas.weissschuh at linutronix.de
Mon Mar 2 18:58:36 AEDT 2026
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.
Not all architectures are supported, as many do not use sparse for their
(compat) vDSO. These can be enabled later.
Also add some checks to bitsperlong.h to detect such issues earlier.
Based on tip/timers/vdso.
Signed-off-by: Thomas Weißschuh <thomas.weissschuh at linutronix.de>
---
Changes in v2:
- Simplify __BITS_PER_LONG consistency checks
- Fix an inconsistency in the powerpc audit code
- Move check to kernel headers instead of UAPI ones
- Use KBUILD_CPPFLAGS = -m64 on s390 instead,
the previous include trimming turned out to require changes to many more files
- Rebase on v7.0-rc1
- Link to v1: https://lore.kernel.org/r/20260116-vdso-compat-checkflags-v1-0-4a83b4fbb0d3@linutronix.de
---
Thomas Weißschuh (5):
x86/vdso: Use 32-bit CHECKFLAGS for compat vDSO
sparc64: vdso: Use 32-bit CHECKFLAGS for compat vDSO
s390: Add -m64 to KBUILD_CPPFLAGS
powerpc/audit: directly include unistd_32.h from compat_audit.c
asm-generic/bitsperlong.h: Add sanity checks for __BITS_PER_LONG
arch/powerpc/kernel/compat_audit.c | 3 +--
arch/s390/Makefile | 3 +--
arch/sparc/vdso/Makefile | 3 +++
arch/x86/entry/vdso/vdso32/Makefile | 4 ++++
include/asm-generic/bitsperlong.h | 9 +++++++++
5 files changed, 18 insertions(+), 4 deletions(-)
---
base-commit: 740f1913cfa0d48222760eaa438c509ca9fc3710
change-id: 20251107-vdso-compat-checkflags-5db75b3b4bac
Best regards,
--
Thomas Weißschuh <thomas.weissschuh at linutronix.de>
More information about the Linuxppc-dev
mailing list