lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250414011345.2602656-1-linux@roeck-us.net>
Date: Sun, 13 Apr 2025 18:13:45 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Andrey Ryabinin <ryabinin.a.a@...il.com>
Cc: Alexander Potapenko <glider@...gle.com>,
	Andrey Konovalov <andreyknvl@...il.com>,
	Dmitry Vyukov <dvyukov@...gle.com>,
	Vincenzo Frascino <vincenzo.frascino@....com>,
	linux-kernel@...r.kernel.org,
	kasan-dev@...glegroups.com,
	Guenter Roeck <linux@...ck-us.net>,
	Linus Torvalds <torvalds@...ux-foundation.org>
Subject: [RFC PATCH] x86/Kconfig: Fix allyesconfig

64-bit allyesconfig builds fail with

x86_64-linux-ld: kernel image bigger than KERNEL_IMAGE_SIZE

Bisect points to commit 6f110a5e4f99 ("Disable SLUB_TINY for build
testing") as the responsible commit. Reverting that patch does indeed
fix the problem. Further analysis shows that disabling SLUB_TINY enables
CONFIG_KASAN, and that CONFIG_KASAN is responsible for the image size
increase.

Solve the test build problem by selectively disabling CONFIG_KASAN for
'allyesconfig' build tests of 64-bit X86 builds.

Fixes: 6f110a5e4f99 ("Disable SLUB_TINY for build testing")
Cc: Linus Torvalds <torvalds@...ux-foundation.org>
Signed-off-by: Guenter Roeck <linux@...ck-us.net>
---
RFC: Maybe there is a better solution for the problem.
     Even increasing the maximum image size to 1.5GB did not help.
     Also, maybe there is a better way to determine if this is an
     "allyesconfig" build test.
     On top of that, I am not sure if the "Fixes" tag is really
     appropriate.

 lib/Kconfig.kasan | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
index f82889a830fa..fb87c40798cd 100644
--- a/lib/Kconfig.kasan
+++ b/lib/Kconfig.kasan
@@ -31,6 +31,10 @@ config CC_HAS_KASAN_SW_TAGS
 config CC_HAS_WORKING_NOSANITIZE_ADDRESS
 	def_bool !CC_IS_GCC || GCC_VERSION >= 80300
 
+config KASAN_COMPILE_TEST
+	tristate "KASAN compile test"
+	depends on COMPILE_TEST && 64BIT && X86
+
 menuconfig KASAN
 	bool "KASAN: dynamic memory safety error detector"
 	depends on (((HAVE_ARCH_KASAN && CC_HAS_KASAN_GENERIC) || \
@@ -38,6 +42,7 @@ menuconfig KASAN
 		    CC_HAS_WORKING_NOSANITIZE_ADDRESS) || \
 		   HAVE_ARCH_KASAN_HW_TAGS
 	depends on SYSFS && !SLUB_TINY
+	depends on KASAN_COMPILE_TEST!=y
 	select STACKDEPOT_ALWAYS_INIT
 	help
 	  Enables KASAN (Kernel Address Sanitizer) - a dynamic memory safety
-- 
2.45.2


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ