]> git.ipfire.org Git - thirdparty/linux.git/commit
asm-generic/bitsperlong.h: Add sanity checks for __BITS_PER_LONG
authorThomas Weißschuh <thomas.weissschuh@linutronix.de>
Mon, 2 Mar 2026 07:58:41 +0000 (08:58 +0100)
committerThomas Gleixner <tglx@kernel.org>
Wed, 11 Mar 2026 09:15:43 +0000 (10:15 +0100)
commit62357a5888ea6ef81f718eee20ad962a1101fb96
tree005a2c8a71bce295b4be9c25e2b3bf37c9508675
parent9b444349a2e96745fc172e161539594ee1f0239e
asm-generic/bitsperlong.h: Add sanity checks for __BITS_PER_LONG

The value of __BITS_PER_LONG from architecture-specific logic should
always match the generic one if that is available. It should also match
the actual C type 'long'.

Mismatches can happen for example when building the compat vDSO. Either
during the compilation, see commit 9a6d3ff10f7f ("arm64: uapi: Provide
correct __BITS_PER_LONG for the compat vDSO"), or when running sparse
when mismatched CHECKFLAGS are inherited from the kernel build.

Add some consistency checks which detect such issues early and clearly.

The kernel-internal BITS_PER_LONG is not checked as it is derived from
CONFIG_64BIT and therefore breaks for the compat vDSO. See the similar,
deactivated check above.

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-5-78e55baa58ba@linutronix.de
include/asm-generic/bitsperlong.h