Skip to content

Commit f075a33

Browse files
groeckgregkh
authored andcommitted
x86: disable image size check for test builds
commit 00a241f upstream. 64-bit allyesconfig builds fail with x86_64-linux-ld: kernel image bigger than KERNEL_IMAGE_SIZE Bisect points to commit 6f110a5 ("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. [akpm@linux-foundation.org: add comment, fix nearby typo (sink->sync)] [akpm@linux-foundation.org: fix comment snafu Link: https://lore.kernel.org/oe-kbuild-all/202504191813.4r9H6Glt-lkp@intel.com/ Link: https://lkml.kernel.org/r/20250417010950.2203847-1-linux@roeck-us.net Fixes: 6f110a5 ("Disable SLUB_TINY for build testing") Signed-off-by: Guenter Roeck <linux@roeck-us.net> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Alexander Potapenko <glider@google.com> Cc: Andrey Konovalov <andreyknvl@gmail.com> Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com> Cc: Borislav Betkov <bp@alien8.de> Cc: Dmitriy Vyukov <dvyukov@google.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Thomas Gleinxer <tglx@linutronix.de> Cc: Vincenzo Frascino <vincenzo.frascino@arm.com> Cc: <x86@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 23f24d0 commit f075a33

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

arch/x86/kernel/vmlinux.lds.S

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,10 +500,18 @@ SECTIONS
500500
PROVIDE(__ref_stack_chk_guard = __stack_chk_guard);
501501

502502
/*
503-
* The ASSERT() sink to . is intentional, for binutils 2.14 compatibility:
503+
* COMPILE_TEST kernels can be large - CONFIG_KASAN, for example, can cause
504+
* this. Let's assume that nobody will be running a COMPILE_TEST kernel and
505+
* let's assert that fuller build coverage is more valuable than being able to
506+
* run a COMPILE_TEST kernel.
507+
*/
508+
#ifndef CONFIG_COMPILE_TEST
509+
/*
510+
* The ASSERT() sync to . is intentional, for binutils 2.14 compatibility:
504511
*/
505512
. = ASSERT((_end - LOAD_OFFSET <= KERNEL_IMAGE_SIZE),
506513
"kernel image bigger than KERNEL_IMAGE_SIZE");
514+
#endif
507515

508516
#ifdef CONFIG_X86_64
509517
/*

0 commit comments

Comments
 (0)