From 821844b5d28a997c9906dba5ed02ebecc36dd853 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Wed, 6 Dec 2023 18:21:48 +0100 Subject: [PATCH] linux6.6: disable CONFIG_KFENCE on i686, broke early boot. Fixes #47514. Previously, booting with earlyprintk=ttySO showed the cause: No EFI environment detected. early console in extract_kernel input_data: 0x02004094 input_len: 0x00a8b825 output: 0x01000000 output_len: 0x018f19d0 kernel_total_size: 0x01aaf000 needed_size: 0x01aaf000 Physical KASLR using RDTSC... Decompressing Linux... Parsing ELF... Performing relocations... done. Booting the kernel (entry_offset: 0x00000080). Poking KASLR using RDTSC... [ 0.593769] kernel BUG at arch/x86/mm/physaddr.c:81! [ 0.594640] invalid opcode: 0000 [#1] PREEMPT SMP PTI [ 0.594772] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.6.4_1 #1 [ 0.594865] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org 04/01/2014 [ 0.595028] EIP: __phys_addr+0x78/0x84 [ 0.595450] Code: 75 fc 89 ec 5d e9 cc f8 ab 00 8d b4 26 00 00 00 00 90 0f 0b 8d b6 00 00 00 00 e8 bf 23 29 00 84 c0 74 b8 0f 0b 8d 74 26 00 90 <0f> 0b 8d b6 00 00 00 00 0f 0b 66 90 3e 8d 74 26 00 3d ff ff ff bf [ 0.595718] EAX: fffff000 EBX: f7318000 ECX: 00000000 EDX: ffffffff [ 0.595768] ESI: 37318000 EDI: f7318000 EBP: cf405f3c ESP: cf405f34 [ 0.595815] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 EFLAGS: 00200086 [ 0.595876] CR0: 80050033 CR2: ffbff000 CR3: 0f7b4000 CR4: 000000b0 [ 0.595979] Call Trace: [ 0.596580] ? show_regs+0x56/0x64 [ 0.596663] ? die+0x34/0x90 [ 0.596692] ? ftrace_dump+0x30c/0x30c [ 0.596723] ? do_trap+0xcc/0x154 [ 0.596748] ? notify_die+0x56/0x74 [ 0.596792] ? do_error_trap+0x69/0x84 [ 0.596821] ? __phys_addr+0x78/0x84 [ 0.596848] ? exc_overflow+0x54/0x54 [ 0.596877] ? exc_invalid_op+0x5d/0x74 [ 0.596905] ? __phys_addr+0x78/0x84 [ 0.596932] ? handle_exception+0x133/0x133 [ 0.596985] ? exc_overflow+0x54/0x54 [ 0.597013] ? __phys_addr+0x78/0x84 [ 0.597042] ? exc_overflow+0x54/0x54 [ 0.597068] ? __phys_addr+0x78/0x84 [ 0.597104] kfence_init+0xce/0xe4 [ 0.597198] start_kernel+0x4b1/0xba8 [ 0.597237] i386_start_kernel+0x48/0x48 [ 0.597266] startup_32_smp+0x156/0x158 [ 0.597393] Modules linked in: [ 0.597835] ---[ end trace 0000000000000000 ]--- [ 0.597896] EIP: __phys_addr+0x78/0x84 [ 0.597931] Code: 75 fc 89 ec 5d e9 cc f8 ab 00 8d b4 26 00 00 00 00 90 0f 0b 8d b6 00 00 00 00 e8 bf 23 29 00 84 c0 74 b8 0f 0b 8d 74 26 00 90 <0f> 0b 8d b6 00 00 00 00 0f 0b 66 90 3e 8d 74 26 00 3d ff ff ff bf [ 0.598020] EAX: fffff000 EBX: f7318000 ECX: 00000000 EDX: ffffffff [ 0.598055] ESI: 37318000 EDI: f7318000 EBP: cf405f3c ESP: cf405f34 [ 0.598088] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 EFLAGS: 00200086 [ 0.598125] CR0: 80050033 CR2: ffbff000 CR3: 0f7b4000 CR4: 000000b0 [ 0.598271] Kernel panic - not syncing: Attempted to kill the idle task! [ 0.598705] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]--- --- srcpkgs/linux6.6/files/i386-dotconfig | 8 ++------ srcpkgs/linux6.6/template | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/srcpkgs/linux6.6/files/i386-dotconfig b/srcpkgs/linux6.6/files/i386-dotconfig index f71123e3c20..e60ce8f7220 100644 --- a/srcpkgs/linux6.6/files/i386-dotconfig +++ b/srcpkgs/linux6.6/files/i386-dotconfig @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 6.6.0 Kernel Configuration +# Linux/i386 6.6.4 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0" CONFIG_CC_IS_GCC=y @@ -10695,11 +10695,7 @@ CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_CC_HAS_KASAN_GENERIC=y CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y CONFIG_HAVE_ARCH_KFENCE=y -CONFIG_KFENCE=y -CONFIG_KFENCE_SAMPLE_INTERVAL=100 -CONFIG_KFENCE_NUM_OBJECTS=255 -# CONFIG_KFENCE_DEFERRABLE is not set -CONFIG_KFENCE_STRESS_TEST_FAULTS=0 +# CONFIG_KFENCE is not set # end of Memory Debugging # CONFIG_DEBUG_SHIRQ is not set diff --git a/srcpkgs/linux6.6/template b/srcpkgs/linux6.6/template index b1df68b477c..dcecb92d679 100644 --- a/srcpkgs/linux6.6/template +++ b/srcpkgs/linux6.6/template @@ -1,7 +1,7 @@ # Template file for 'linux6.6' pkgname=linux6.6 version=6.6.4 -revision=1 +revision=2 short_desc="Linux kernel and modules (${version%.*} series)" maintainer="Duncaen " license="GPL-2.0-only"