[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250417010950.2203847-1-linux@roeck-us.net>
Date: Wed, 16 Apr 2025 18:09:50 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: x86@...nel.org
Cc: Andrey Ryabinin <ryabinin.a.a@...il.com>,
Alexander Potapenko <glider@...gle.com>,
Andrey Konovalov <andreyknvl@...il.com>,
Dmitry Vyukov <dvyukov@...gle.com>,
Vincenzo Frascino <vincenzo.frascino@....com>,
Andrew Morton <akpm@...ux-foundation.org>,
kasan-dev@...glegroups.com,
linux-kernel@...r.kernel.org,
"H . Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Guenter Roeck <linux@...ck-us.net>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: [PATCH v3] x86: Disable image size check for test builds
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
KASAN, and that KASAN is responsible for the image size increase.
Solve the build problem by disabling the image size check for test
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>
---
v3: Disabled image size check instead of disabling KASAN
Updated subject to match change
Updated Cc: list to reflect affected maintainers
v2: Disabled KASAN unconditionally for test builds
Link: https://lore.kernel.org/lkml/20250416230559.2017012-1-linux@roeck-us.net/
Link to RFC:
https://lore.kernel.org/lkml/20250414011345.2602656-1-linux@roeck-us.net/
arch/x86/kernel/vmlinux.lds.S | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index ccdc45e5b759..647d4f47486d 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -468,8 +468,10 @@ SECTIONS
/*
* The ASSERT() sink to . is intentional, for binutils 2.14 compatibility:
*/
+#ifndef CONFIG_COMPILE_TEST
. = ASSERT((_end - LOAD_OFFSET <= KERNEL_IMAGE_SIZE),
"kernel image bigger than KERNEL_IMAGE_SIZE");
+#endif
/* needed for Clang - see arch/x86/entry/entry.S */
PROVIDE(__ref_stack_chk_guard = __stack_chk_guard);
--
2.45.2
Powered by blists - more mailing lists