------- Comment From daniel.axte...@ibm.com 2020-11-24 02:07 EDT------- Hi,
Ok, I have been experimenting with the hirsute kernel: 5.10.0-4-generic #5-Ubuntu It boots without issue on a pseries guest with secure boot both on and off. However, this doesn't exercise booting out of kexec. Booting on a machine with no OS secure-boot support also fails coming out of kexec, so something is going wrong with kexec. I will see if this can be replicated under qemu and try a bisect over the next couple of days. In the mean time, here's the log of a boot with `earlyprintk` and without `quiet`. Kind regards, Daniel [ 182.160030] kexec_core: Starting new kernel [ 0.000000] dt-cpu-ftrs: setup for ISA 3000 [ 0.000000] dt-cpu-ftrs: final cpu/mmu features = 0x0001f86b8f5fb1a7 0x3c007041 [ 0.000000] radix-mmu: Page sizes from device-tree: [ 0.000000] radix-mmu: Page size shift = 12 AP=0x0 [ 0.000000] radix-mmu: Page size shift = 16 AP=0x5 [ 0.000000] radix-mmu: Page size shift = 21 AP=0x1 [ 0.000000] radix-mmu: Page size shift = 30 AP=0x2 [ 0.000000] radix-mmu: Activating Kernel Userspace Execution Prevention [ 0.000000] radix-mmu: Activating Kernel Userspace Access Prevention [ 0.000000] radix-mmu: Mapped 0x0000000000000000-0x0000000040000000 with 1.00 GiB pages (exec) [ 0.000000] radix-mmu: Mapped 0x0000000040000000-0x0000000800000000 with 1.00 GiB pages [ 0.000000] radix-mmu: Mapped 0x0000200000000000-0x0000200800000000 with 1.00 GiB pages [ 0.000000] radix-mmu: Initializing Radix MMU [ 0.000000] Linux version 5.10.0-4-generic (buildd@bos02-ppc64el-008) (gcc (Ubuntu 10.2.0-17ubuntu1) 10.2.0, GNU ld (GNU Binutils for Ubun tu) 2.35.1) #5-Ubuntu SMP Mon Nov 16 09:41:59 UTC 2020 (Ubuntu 5.10.0-4.5-generic 5.10.0-rc4) [ 0.000000] Secure boot mode disabled [ 0.000000] Found initrd at 0xc000000004900000:0xc0000000066f0cf4 [ 0.000000] OPAL: Found memory mapped LPC bus on chip 0 [ 0.000000] Using PowerNV machine description [ 0.000000] printk: bootconsole [udbg0] enabled [ 0.000000] CPU maps initialized for 4 threads per core [ 0.000000] ----------------------------------------------------- [ 0.000000] phys_mem_size = 0x1000000000 [ 0.000000] dcache_bsize = 0x80 [ 0.000000] icache_bsize = 0x80 [ 0.000000] cpu_features = 0x0001f86b8f5fb1a7 [ 0.000000] possible = 0x000ffbfbcf5fb1a7 [ 0.000000] always = 0x00000003800081a1 [ 0.000000] cpu_user_features = 0xdc0065c2 0xaef00000 [ 0.000000] mmu_features = 0xbc007441 [ 0.000000] firmware_features = 0x0000000110000000 [ 0.000000] vmalloc start = 0xc008000000000000 [ 0.000000] IO start = 0xc00a000000000000 [ 0.000000] vmemmap start = 0xc00c000000000000 [ 0.000000] ----------------------------------------------------- [ 0.000000] kvm_cma_reserve: reserving 3276 MiB for global area [ 0.000000] cma: Reserved 3280 MiB at 0x000020072f000000 [ 0.000000] numa: NODE_DATA [mem 0x7ffd44900-0x7ffd4bfff] [ 0.000000] numa: NODE_DATA [mem 0x2007ff438900-0x2007ff43ffff] [ 0.000000] rfi-flush: mttrig type flush available [ 0.000000] count-cache-flush: flush disabled. [ 0.000000] link-stack-flush: software flush enabled. [ 0.000000] stf-barrier: eieio barrier available [ 0.000000] Initializing IODA2 PHB (/pciex@600c3c0000000) [ 0.000000] PCI host bridge /pciex@600c3c0000000 (primary) ranges: [ 0.000000] MEM 0x000600c000000000..0x000600c07ffeffff -> 0x0000000080000000 [ 0.000000] ioremap() called early from pnv_pci_init_ioda_phb+0x360/0x968. Use early_ioremap() instead [ 0.000000] MEM 0x0006000000000000..0x0006003fffffffff -> 0x0006000000000000 (M64 #1..31) [ 0.000000] Using M64 #31 as default window [ 0.000000] 512 (511) PE's M32: 0x80000000 [segment=0x400000] [ 0.000000] M64: 0x4000000000 [segment=0x20000000] [ 0.000000] Allocated bitmap for 4088 MSIs (base IRQ 0xfe000) [ 0.000000] Initializing IODA2 PHB (/pciex@600c3c0100000) [ 0.000000] PCI host bridge /pciex@600c3c0100000 ranges: [ 0.000000] MEM 0x000600c080000000..0x000600c0fffeffff -> 0x0000000080000000 [ 0.000000] ioremap() called early from pnv_pci_init_ioda_phb+0x360/0x968. Use early_ioremap() instead [ 0.000000] MEM 0x0006004000000000..0x0006007fffffffff -> 0x0006004000000000 (M64 #1..15) [ 0.000000] Using M64 #15 as default window [ 0.000000] 256 (255) PE's M32: 0x80000000 [segment=0x800000] [ 0.000000] M64: 0x4000000000 [segment=0x40000000] [ 0.000000] Allocated bitmap for 2040 MSIs (base IRQ 0xfd800) [ 0.000000] Initializing IODA2 PHB (/pciex@600c3c0200000) [ 0.000000] PCI host bridge /pciex@600c3c0200000 ranges: [ 0.000000] MEM 0x000600c100000000..0x000600c17ffeffff -> 0x0000000080000000 [ 0.000000] ioremap() called early from pnv_pci_init_ioda_phb+0x360/0x968. Use early_ioremap() instead [ 0.000000] MEM 0x0006008000000000..0x000600bfffffffff -> 0x0006008000000000 (M64 #1..15) [ 0.000000] Using M64 #15 as default window [ 0.000000] 256 (255) PE's M32: 0x80000000 [segment=0x800000] [ 0.000000] M64: 0x4000000000 [segment=0x40000000] [ 0.000000] Allocated bitmap for 2040 MSIs (base IRQ 0xfd000) [ 0.000000] Initializing IODA2 PHB (/pciex@600c3c0300000) [ 0.000000] PCI host bridge /pciex@600c3c0300000 ranges: [ 0.000000] MEM 0x000600c180000000..0x000600c1fffeffff -> 0x0000000080000000 [ 0.000000] ioremap() called early from pnv_pci_init_ioda_phb+0x360/0x968. Use early_ioremap() instead [ 0.000000] MEM 0x0006020000000000..0x0006023fffffffff -> 0x0006020000000000 (M64 #1..31) [ 0.000000] Using M64 #31 as default window [ 0.000000] 512 (511) PE's M32: 0x80000000 [segment=0x400000] [ 0.000000] M64: 0x4000000000 [segment=0x20000000] [ 0.000000] Allocated bitmap for 4088 MSIs (base IRQ 0xfc000) [ 0.000000] Initializing IODA2 PHB (/pciex@600c3c0400000) [ 0.000000] PCI host bridge /pciex@600c3c0400000 ranges: [ 0.000000] MEM 0x000600c200000000..0x000600c27ffeffff -> 0x0000000080000000 [ 0.000000] ioremap() called early from pnv_pci_init_ioda_phb+0x360/0x968. Use early_ioremap() instead [ 0.000000] MEM 0x0006024000000000..0x0006027fffffffff -> 0x0006024000000000 (M64 #1..15) [ 0.000000] Using M64 #15 as default window [ 0.000000] 256 (255) PE's M32: 0x80000000 [segment=0x800000] [ 0.000000] M64: 0x4000000000 [segment=0x40000000] [ 0.000000] Allocated bitmap for 2040 MSIs (base IRQ 0xfb800) [ 0.000000] Initializing IODA2 PHB (/pciex@600c3c0500000) [ 0.000000] PCI host bridge /pciex@600c3c0500000 ranges: [ 0.000000] MEM 0x000600c280000000..0x000600c2fffeffff -> 0x0000000080000000 [ 0.000000] ioremap() called early from pnv_pci_init_ioda_phb+0x360/0x968. Use early_ioremap() instead [ 0.000000] MEM 0x0006028000000000..0x000602bfffffffff -> 0x0006028000000000 (M64 #1..15) [ 0.000000] Using M64 #15 as default window [ 0.000000] 256 (255) PE's M32: 0x80000000 [segment=0x800000] [ 0.000000] M64: 0x4000000000 [segment=0x40000000] [ 0.000000] Allocated bitmap for 2040 MSIs (base IRQ 0xfb000) [ 0.000000] Initializing IODA2 PHB (/pciex@620c3c0000000) [ 0.000000] PCI host bridge /pciex@620c3c0000000 ranges: [ 0.000000] MEM 0x000620c000000000..0x000620c07ffeffff -> 0x0000000080000000 [ 0.000000] ioremap() called early from pnv_pci_init_ioda_phb+0x360/0x968. Use early_ioremap() instead [ 0.000000] MEM 0x0006200000000000..0x0006203fffffffff -> 0x0006200000000000 (M64 #1..31) [ 0.000000] Using M64 #31 as default window [ 0.000000] 512 (511) PE's M32: 0x80000000 [segment=0x400000] [ 0.000000] M64: 0x4000000000 [segment=0x20000000] [ 0.000000] Allocated bitmap for 4088 MSIs (base IRQ 0x1fe000) [ 0.000000] Initializing IODA2 PHB (/pciex@620c3c0100000) [ 0.000000] PCI host bridge /pciex@620c3c0100000 ranges: [ 0.000000] MEM 0x000620c080000000..0x000620c0fffeffff -> 0x0000000080000000 [ 0.000000] ioremap() called early from pnv_pci_init_ioda_phb+0x360/0x968. Use early_ioremap() instead [ 0.000000] MEM 0x0006204000000000..0x0006207fffffffff -> 0x0006204000000000 (M64 #1..15) [ 0.000000] Using M64 #15 as default window [ 0.000000] 256 (255) PE's M32: 0x80000000 [segment=0x800000] [ 0.000000] M64: 0x4000000000 [segment=0x40000000] [ 0.000000] Allocated bitmap for 2040 MSIs (base IRQ 0x1fd800) [ 0.000000] Initializing IODA2 PHB (/pciex@620c3c0200000) [ 0.000000] PCI host bridge /pciex@620c3c0200000 ranges: [ 0.000000] MEM 0x000620c100000000..0x000620c17ffeffff -> 0x0000000080000000 [ 0.000000] ioremap() called early from pnv_pci_init_ioda_phb+0x360/0x968. Use early_ioremap() instead [ 0.000000] MEM 0x0006208000000000..0x000620bfffffffff -> 0x0006208000000000 (M64 #1..15) [ 0.000000] Using M64 #15 as default window [ 0.000000] 256 (255) PE's M32: 0x80000000 [segment=0x800000] [ 0.000000] M64: 0x4000000000 [segment=0x40000000] [ 0.000000] Allocated bitmap for 2040 MSIs (base IRQ 0x1fd000) [ 0.000000] Initializing IODA2 PHB (/pciex@620c3c0300000) [ 0.000000] PCI host bridge /pciex@620c3c0300000 ranges: [ 0.000000] MEM 0x000620c180000000..0x000620c1fffeffff -> 0x0000000080000000 [ 0.000000] ioremap() called early from pnv_pci_init_ioda_phb+0x360/0x968. Use early_ioremap() instead [ 0.000000] MEM 0x0006220000000000..0x0006223fffffffff -> 0x0006220000000000 (M64 #1..31) [ 0.000000] Using M64 #31 as default window [ 0.000000] 512 (511) PE's M32: 0x80000000 [segment=0x400000] [ 0.000000] M64: 0x4000000000 [segment=0x20000000] [ 0.000000] Allocated bitmap for 4088 MSIs (base IRQ 0x1fc000) [ 0.000000] OPAL nvram setup, 589824 bytes [ 0.000000] barrier-nospec: using ORI speculation barrier [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000000000000-0x00002007ffffffff] [ 0.000000] Device empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x00000007ffffffff] [ 0.000000] node 8: [mem 0x0000200000000000-0x00002007ffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000007ffffffff] [ 0.000000] Initmem setup node 8 [mem 0x0000200000000000-0x00002007ffffffff] [ 0.000000] percpu: Embedded 11 pages/cpu s628760 r0 d92136 u720896 [ 0.000000] Built 2 zonelists, mobility grouping on. Total pages: 1047552 [ 0.000000] Policy zone: Normal [ 0.000000] Kernel command line: root=UUID=5d0d158f-dffd-46ba-be59-63f41d204079 ro recovery nomodeset earlyprintk [ 0.000000] You have booted with nomodeset. This means your GPU drivers are DISABLED [ 0.000000] Any video related functionality will be severely degraded, and you may not even be able to suspend the system properly [ 0.000000] Unless you actually understand what nomodeset does, you should reboot without enabling it [ 0.000000] printk: log_buf_len individual max cpu contribution: 4096 bytes [ 0.000000] printk: log_buf_len total cpu_extra contributions: 258048 bytes [ 0.000000] printk: log_buf_len min size: 262144 bytes [ 0.000000] printk: log_buf_len: 524288 bytes [ 0.000000] printk: early log buf free: 250608(95%) [ 0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off [ 0.000000] Memory: 63269376K/67108864K available (17728K kernel code, 3200K rwdata, 8320K rodata, 6528K init, 2230K bss, 480768K reserved , 3358720K cma-reserved) [ 0.000000] random: get_random_u64 called from kmem_cache_open+0x3c/0x330 with crng_init=0 [ 0.000000] SLUB: HWalign=128, Order=0-3, MinObjects=0, CPUs=64, Nodes=9 [ 0.000000] ftrace: allocating 44887 entries in 17 pages [ 0.000000] ftrace: allocated 17 pages with 2 groups [ 0.000000] rcu: Hierarchical RCU implementation. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=2048 to nr_cpu_ids=64. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Rude variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=64 [ 0.000000] NR_IRQS: 512, nr_irqs: 512, preallocated irqs: 16 [ 0.000000] xive: Interrupt handling initialized with native backend [ 0.000000] xive: Using priority 7 for all interrupts [ 0.000000] xive: Using 64kB queues [ 0.000003] time_init: 56 bit decrementer (max: 7fffffffffffff) [ 0.005158] clocksource: timebase: mask: 0xffffffffffffffff max_cycles: 0x761537d007, max_idle_ns: 440795202126 ns [ 0.008408] clocksource: timebase mult[1f40000] shift[24] registered [ 0.011943] Console: colour dummy device 80x25 [ 0.015144] printk: console [hvc0] enabled [ 0.015144] printk: console [hvc0] enabled [ 0.021301] printk: bootconsole [udbg0] disabled [ 0.021301] printk: bootconsole [udbg0] disabled [ 0.027650] mempolicy: Enabling automatic NUMA balancing. Configure with numa_balancing= or the kernel.numa_balancing sysctl [ 0.027678] pid_max: default: 65536 minimum: 512 -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1904906 Title: 5.10 kernel fails to boot with secure boot disabled Status in The Ubuntu-power-systems project: New Status in linux package in Ubuntu: New Bug description: Canonical requests to test the secure boot for the 5.10 kernel but kernel fails to boot with secure boot disabled. The 5.10 kernel can be found in: https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/bootstrap They can be installed by installing the linux-generic-wip package with this PPA enabled. As usual, they are only signed using a key specific to that PPA. This key can be retrieved from the signing tarballs for the kernels, e.g.: http://ppa.launchpad.net/canonical-kernel- team/bootstrap/ubuntu/dists/hirsute/main/signed/linux-5.10-ppc64el/5.10.0-2.3/signed.tar.gz Our tester installed the 5.10 kernel via aptitude. If booting directly from the bootmenu, it stucks at: "kexec_core: Starting new kernel" If booting recovery kernel for 5.10.0, it proceeds farther and after kexec_core, it failed at: " [ 0.029830] LSM: Security Framework initializing [ 0.029916] Yama: b " Two attempts with a different scenario; running with 5.8 kernel and boot via commandline for 5.10: kexec -l /boot/vmlinux-5.10.0-0-generic --initrd=/boot/initrd.img-5.10.0-0-generic --append="root=UUID=49d000cb-dba2-4d70-809e-38f2b31d0f09 ro quiet splash" kexec -e Both attempts also failed while rebooting, once with the same error as the error from booting with bootmenu; the other failure occurred a lot earlier. Wondering what new CONFIGs and/or features for the 5.10 kernel? To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/1904906/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp