arm64 regression in kernel 5.12 related to the (n)VHE

Rafał Miłecki zajec5 at gmail.com
Thu Aug 12 00:56:57 PDT 2021


On 12.08.2021 09:32, Rafał Miłecki wrote:
> (Unless it's a false conclusion and CONFIG_KVM just breaks console
> somehow)

That was a false conclusion. I modified kernel/printk/printk.c and set
keep_bootcon = 1

A full log with important part below:

Starting program at 0x0000000000080000
/memory = 0x40000000
WARNING: Node's property /reserved-memory/dt_reserved_buffer is not defined
WARNING: Node's property /reserved-memory/dt_reserved_flow is not defined
WARNING: Node's property /reserved-memory/dt_reserved_dhd2 is not defined
Booting Linux on physical CPU 0x0000000000 [0x420f1000]
Linux version 5.11.22-g0453a426c37b-dirty (rmilecki at localhost.localdomain) (aarch64-buildroot-linux-uclibc-gcc.br_real (Buildroot -g91617ed) 9.3.0, GNU ld (GNU Binutils) 2.33.1) #12 SMP Thu Aug 12 09:54:11 CEST 2021
Machine model: Asus GT-AC5300
earlycon: bcm63xx_uart0 at MMIO 0x00000000ff800640 (options '')
printk: bootconsole [bcm63xx_uart0] enabled
efi: UEFI not found.
[Firmware Bug]: Kernel image misaligned at boot, please fix your bootloader!
Zone ranges:
   DMA      [mem 0x0000000000000000-0x000000003fffffff]
   DMA32    empty
   Normal   empty
Movable zone start for each node
Early memory node ranges
   node   0: [mem 0x0000000000000000-0x000000003fffffff]
Initmem setup node 0 [mem 0x0000000000000000-0x000000003fffffff]
percpu: Embedded 18 pages/cpu s43904 r0 d29824 u73728
Detected VIPT I-cache on CPU0
CPU features: detected: ARM erratum 843419
Built 1 zonelists, mobility grouping on.  Total pages: 258048
Kernel command line: earlycon=bcm63xx_uart,0xff800640
Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
mem auto-init: stack:off, heap alloc:off, heap free:off
Memory: 1019556K/1048576K available (4352K kernel code, 678K rwdata, 860K rodata, 2496K init, 232K bss, 29020K reserved, 0K cma-reserved)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
rcu: Hierarchical RCU implementation.
rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
GIC: Using split EOI/Deactivate mode
random: get_random_bytes called from start_kernel+0x33c/0x52c with crng_init=0
arch_timer: cp15 timer(s) running at 50.00MHz (phys).
clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xb8812736b, max_idle_ns: 440795202655 ns
sched_clock: 56 bits at 50MHz, resolution 20ns, wraps every 4398046511100ns
Console: colour dummy device 80x25
printk: console [tty0] enabled
Calibrating delay loop (skipped), value calculated using timer frequency.. 100.00 BogoMIPS (lpj=200000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
rcu: Hierarchical SRCU implementation.
EFI services will not be available.
smp: Bringing up secondary CPUs ...
Detected VIPT I-cache on CPU1
CPU1: Booted secondary processor 0x0000000001 [0x420f1000]
Detected VIPT I-cache on CPU2
CPU2: Booted secondary processor 0x0000000002 [0x420f1000]
Detected VIPT I-cache on CPU3
CPU3: Booted secondary processor 0x0000000003 [0x420f1000]
smp: Brought up 1 node, 4 CPUs
SMP: Total of 4 processors activated.
CPU features: detected: 32-bit EL0 Support
CPU features: detected: CRC32 instructions
CPU features: detected: 32-bit EL1 Support
CPU: All CPU(s) started at EL2
alternatives: patching kernel code
devtmpfs: initialized
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
pinctrl core: initialized pinctrl subsystem
DMI not present or invalid.
NET: Registered protocol family 16
DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
thermal_sys: Registered thermal governor 'step_wise'
ASID allocator initialised with 65536 entries
iommu: Default domain type: Translated
vgaarb: loaded
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
clocksource: Switched to clocksource arch_sys_counter
PCI: CLS 0 bytes, default 64
kvm [1]: IPA Size Limit: 40 bits
------------[ cut here ]------------
------------[ cut here ]------------
------------[ cut here ]------------
kernel BUG at arch/arm64/kernel/traps.c:406!
kernel BUG at arch/arm64/kernel/traps.c:406!
Internal error: Oops - BUG: 0 [#1] SMP
CPU: 3 PID: 0 Comm: swapper/3 Not tainted 5.11.22-g0453a426c37b-dirty #12
Hardware name: Asus GT-AC5300 (DT)
pstate: 00000085 (nzcv daIf -PAN -UAO -TCO BTYPE=--)
pc : do_undefinstr+0x204/0x230
lr : do_undefinstr+0x218/0x230
sp : ffffffc01001bcc0
x29: ffffffc01001bcc0 x28: ffffff80010a0a80
x27: 00000000000000e0 x26: ffffffc01001c000
x25: ffffffc010018000 x24: ffffffc0108a9000
x23: 0000000080000085 x22: 00000000d4000002
x21: ffffffc0108cd0d8 x20: ffffff80010a0a80
x19: ffffffc01001bd40 x18: 0000000000000030
x17: fbfffafbffffffff x16: 0000000000000048
x15: 0000046366960998 x14: 0000000000000017
x13: 0000000000000001 x12: 0000000000000001
x11: 0000000000000000 x10: 0000000000000003
x9 : 0000000000000000 x8 : 0000000000000000
x7 : ffffff803fde8600 x6 : 0000000000000001
x5 : 0000000000000000 x4 : ffffff80010a0a80
x3 : 00000000d5300000 x2 : ffffffc01082ce68
x1 : ffffffc0108cd0e8 x0 : 0000000080000085
Call trace:
  do_undefinstr+0x204/0x230
  el1_undef+0x30/0x50
  el1_sync_handler+0x8c/0xd0
  el1_sync+0x78/0x100
  __hyp_reset_vectors+0x4/0x91d0
  _kvm_arch_hardware_enable+0x3c/0x60
  flush_smp_call_function_queue+0x14c/0x260
  generic_smp_call_function_single_interrupt+0x14/0x20
  ipi_handler+0x9c/0xd0
  handle_percpu_devid_irq+0x84/0x150
  generic_handle_irq+0x34/0x50
  __handle_domain_irq+0x64/0xc0
  gic_handle_irq+0x78/0xa0
  el1_irq+0xbc/0x140
  arch_cpu_idle+0x18/0x30
  default_idle_call+0x20/0x70
  do_idle+0xc8/0x130
  cpu_startup_entry+0x24/0x50
  secondary_start_kernel+0x130/0x160
Code: 9a81d000 d50342df 17ffffa3 f9001bf7 (d4210000)
---[ end trace 6a2bdc7bc6eb54af ]---
Kernel panic - not syncing: Oops - BUG: Fatal exception in interrupt
SMP: stopping secondary CPUs
kernel BUG at arch/arm64/kernel/traps.c:406!
SMP: failed to stop secondary CPUs 1-3
Kernel Offset: disabled
CPU features: 0x00240002,24002000
Memory Limit: none
---[ end Kernel panic - not syncing: Oops - BUG: Fatal exception in interrupt ]---



More information about the linux-arm-kernel mailing list