On Thu, Aug 15, 2019 at 8:17 AM skodde <skodde@xxxxxxxxx> wrote: > On Thu, Aug 15, 2019 at 7:21 AM Ard Biesheuvel > <ard.biesheuvel@xxxxxxxxxx> wrote: > > On Thu, 15 Aug 2019 at 14:03, Mark Rutland <mark.rutland@xxxxxxx> wrote: > > > On Thu, Aug 15, 2019 at 05:56:27AM -0400, skodde wrote: > > > > The kernel boots fine with that option disabled, but strangely > > > > presents the same error when disabling only CONFIG_RANDOMIZE_BASE. > > > > > > That shouldn't be possible, given the IS_ENABLED(CONFIG_RANDOMIZE_BASE) > > > guard around the efi_get_random_bytes() call, so something sounds wrong. > > > > > > Maybe there's a problem with stale objects. If you're not doing so > > > already, could you try a clean build with CONFIG_RANDOMIZE_BASE > > > deselected? > > > > > Also, can you try booting with the nokaslr command line option added? > > You were right, I haven't tried with nokaslr, but it worked fine by > rebuilding the kernel after a distclean with CONFIG_RANDOMIZE_BASE > disabled and CONFIG_GCC_PLUGIN_STACKLEAK enabled. That's what I was > expecting the first time and this is the reason why I mentioned it. > I've been recompiling too many times, sorry about that. > > Anyhow, the main issue is the efi_get_random_bytes() fail with > CONFIG_GCC_PLUGIN_STACKLEAK enabled, and that's still valid. Now the configuration that was working on 5.8 fails on 5.11 (haven't tried 5.9 or 5.10): - CONFIG_GCC_PLUGIN_STACKLEAK=n && CONFIG_RANDOMIZE_BASE=y (working on 5.8) Loading Linux 5.2.11-00015-g0cc3335a89ac ... Loading initial ramdisk ... EFI stub: Booting Linux Kernel... EFI stub: ERROR: efi_get_random_bytes() failed EFI stub: ERROR: Failed to relocate kernel Error: Image at 00079560000 start failed: Load Error Unloading driver at 0x00079560000 - CONFIG_GCC_PLUGIN_STACKLEAK=n && CONFIG_RANDOMIZE_BASE=y && nokaslr Loading Linux 5.2.11-00015-g0cc3335a89ac ... Loading initial ramdisk ... EFI stub: Booting Linux Kernel... EFI stub: KASLR disabled on kernel command line EFI stub: Using DTB from configuration table EFI stub: Exiting boot services and installing virtual address map... EFI stub: ERROR: Unable to construct new device tree. EFI stub: ERROR: Failed to update FDT and exit boot services Error: Image at 00079561000 start failed: Load Error Unloading driver at 0x00079561000 After getting back to the bootloader, loading a known working kernel fails (but it works fine after a reboot): Loading Linux 5.2.8-00016-ga0d5f389a536 ... Synchronous Exception at 0x00000000B652157C PC 0x0000B652157C PC 0x0000B65226B4 PC 0x0000B6522EE0 PC 0x0000B646BB10 PC 0x0000B6468580 PC 0x0000B6524600 PC 0x0000B6420078 PC 0x0000B6485CFC PC 0x0000B64849B4 PC 0x0000B648586C PC 0x0000B64849B4 PC 0x0000B6485E68 PC 0x0000B6485EC0 PC 0x0000B647C5C8 PC 0x0000B647C2C8 PC 0x0000B647C658 PC 0x0000B647C2C8 PC 0x0000B64784A8 PC 0x0000B646F1FC PC 0x0000B6485CFC PC 0x0000B64849B4 PC 0x0000B648586C PC 0x0000B64849B4 PC 0x0000B6483C94 PC 0x0000B64785A4 PC 0x0000B6478794 PC 0x0000B647880C PC 0x0000B652532C PC 0x00003F95B714 (0x00003F952000+0x00009714) [ 1] DxeCore.dll PC 0x0000B66CC440 (0x0000B66B9000+0x00013440) [ 2] UiApp.dll PC 0x0000B66CCD8C (0x0000B66B9000+0x00013D8C) [ 2] UiApp.dll PC 0x0000BF73D880 (0x0000BF729000+0x00014880) [ 3] SetupBrowser.dll PC 0x0000BF737BFC (0x0000BF729000+0x0000EBFC) [ 3] SetupBrowser.dll PC 0x0000B66C2700 (0x0000B66B9000+0x00009700) [ 4] UiApp.dll PC 0x00003F95B714 (0x00003F952000+0x00009714) [ 5] DxeCore.dll PC 0x0000BF71AEBC (0x0000BF711000+0x00009EBC) [ 6] BdsDxe.dll PC 0x0000BF721C8C (0x0000BF711000+0x00010C8C) [ 6] BdsDxe.dll PC 0x00003F95F470 (0x00003F952000+0x0000D470) [ 7] DxeCore.dll [ 1] /home/skodde/macchiatobin/edk/uefi-marvell/Build/Armada80x0McBin-AARCH64/RELEASE_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll [ 2] /home/skodde/macchiatobin/edk/uefi-marvell/Build/Armada80x0McBin-AARCH64/RELEASE_GCC5/AARCH64/MdeModulePkg/Application/UiApp/UiApp/DEBUG/UiApp.dll [ 3] /home/skodde/macchiatobin/edk/uefi-marvell/Build/Armada80x0McBin-AARCH64/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe/DEBUG/SetupBrowser.dll [ 4] /home/skodde/macchiatobin/edk/uefi-marvell/Build/Armada80x0McBin-AARCH64/RELEASE_GCC5/AARCH64/MdeModulePkg/Application/UiApp/UiApp/DEBUG/UiApp.dll [ 5] /home/skodde/macchiatobin/edk/uefi-marvell/Build/Armada80x0McBin-AARCH64/RELEASE_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll [ 6] /home/skodde/macchiatobin/edk/uefi-marvell/Build/Armada80x0McBin-AARCH64/RELEASE_GCC5/AARCH64/MdeModulePkg/Universal/BdsDxe/BdsDxe/DEBUG/BdsDxe.dll [ 7] /home/skodde/macchiatobin/edk/uefi-marvell/Build/Armada80x0McBin-AARCH64/RELEASE_GCC5/AARCH64/MdeModulePkg/Core/Dxe/DxeMain/DEBUG/DxeCore.dll X0 0xAFAFAFAFAFAFAFAF X1 0x0000000000008000 X2 0xFFFFFFFFFFEFFFFF X3 0x0000000000008000 X4 0x00000000B6530000 X5 0x00000000B652CAE0 X6 0x000000007B4FE000 X7 0x00000000B6468258 X8 0x0000000000001000 X9 0x0000000000000002 X10 0xFFFFFFFFFFFFFFFF X11 0x00000000B648A182 X12 0x00000000B6489FAC X13 0x00000000B648A15C X14 0x0000000000000014 X15 0x00000000000000FF X16 0x0000000000001510 X17 0x00000000B5A3AA40 X18 0x000000000000005C X19 0x0000000000000401 X20 0x0000000000000001 X21 0x000000002D3C2808 X22 0x00000000B652CAB0 X23 0x000000006DB08FA4 X24 0x0000000000000000 X25 0x000000007A96E000 X26 0x000000000000000F X27 0x0000000000000FFF X28 0x00000000B646B000 FP 0x000000003F950BD0 LR 0x00000000B65226B4 V0 0x0000000000000000 4049C00000000000 V1 0x0000000000000000 3FE0000000000000 V2 0x0000000000000000 40D1AD0000000000 V3 0xFFBFDFDF6FEFFFDF FFFFFFFFFFEFFED5 V4 0xF7FFF5EF41FBEFFF FFFFBFFFFFFFFFBC V5 0xFFFFFFFFAFB8FFFB FFBFFFFFD7FFDDF6 V6 0x8BFFB1B7FFFB7FFE F7EFFFFFFFFFFFFF V7 0x7BFFFFBF55FFD7D7 FFFFFFFFDB7FFFFF V8 0x0000000000000000 FFFFFFFFFFDDFF9F V9 0x0000000000000000 FFFEFBF3976793FF V10 0x0000000000000000 FFFFFFFFFF7FFFDF V11 0x0000000000000000 F77FFEFDFFFFF3FF V12 0x0000000000000000 FFFFFFFF3D554FFF V13 0x0000000000000000 FFFFFFFFBDE0EABF V14 0x0000000000000000 FFFFFFFFE7EEFFAD V15 0x0000000000000000 FFDFFFFF7DFEFFFB V16 0xEEA8FDDFFFFFDFFF FFFFFFFFB7FE56FF V17 0xBF3B955BDBFFFFFF FFF7F9EFFFFFBFFF V18 0x7FBFFDEF7FEBFFAF FFFFFFBF8FEFFFDF V19 0xFEBFFF7FFFFDFFFF FFFFFFFFF5FF7DF5 V20 0xFFFFFFFFFFFFFFFF FFFFFFFFC7ED54FF V21 0xF7FFFEEEFFFFFF7F DAFEFFDFFFF7FBF5 V22 0xFBE6FFFFFFFFFFFF FFFFFFFFFFFFFFFF V23 0xFFF5FFFFFF7FFFFF FFFFFFFFFFFFFF7F V24 0xFFFFFFFF7FFEFFFF FFFFEF7FFFFFFFFF V25 0xEB8EFFF7FFFFF7FE FFFFFFFFFD7FFFFD V26 0x3FFFFDFFFFFF5FFF FFCF7EFFFFFFFFFF V27 0xAFBFFEF9FFFFFFFF DDFBBFFBBDC4BE5F V28 0xFFFFFFDFFFF7EFDF 9DCD7CF3FFFFFFCF V29 0xDFFFFFFFFFFFFFFF BAF7D6FE7FFFDFFF V30 0xDFF7FFFFFFBFFFFD FFFFDFFFFFFFFFFF V31 0xCA4F7F47DAF7DBFB FFFFFFFFFFF76E77 SP 0x000000003F950BD0 ELR 0x00000000B652157C SPSR 0x60000209 FPSR 0x00000010 ESR 0x96000004 FAR 0xAFAFAFAFAFAFAFBF ESR : EC 0x25 IL 0x1 ISS 0x00000004 Data abort: Translation fault, zeroth level Stack dump: 000003F950AD0: 000000003F950C70 000000003F96454C FFFFFFFFFF7FFFDF 0000000000000000 000003F950AF0: 000000003F950C90 000000003F96454C 000000003F950B60 00000000BF6F9EAC 000003F950B10: 00000000B91B4398 00000000BE909498 000000003F950B30 000000003F95F5D4 000003F950B30: 000000003F950B60 000000003F960758 000000003F97407C 000000003F95F5D4 000003F950B50: 000000003F950B80 D7AB00003F960910 000000003F950B80 000000003F9612DC 000003F950B70: 000000004201DB9E 000000003F974078 000000003F950BA0 000000003F961364 000003F950B90: 000000003F974070 0000000000000000 000000003F950BD0 000000003F96323C 000003F950BB0: 000000003F950BD0 000000003F960B14 000000003F976618 000000007B50DFFF > 000003F950BD0: 000000003F950C10 00000000B65226B4 00000000B5A3E8A0 00000000B5A3E8A0 000003F950BF0: 0000000000000000 00000000000CEC80 0000000000000000 0000000000001000 000003F950C10: 000000003F950C70 00000000B6522EE0 00000000000CEC80 00000000B5A3E8A0 000003F950C30: 0000000000000000 0000000000001000 000000007A96E000 0000000000000000 000003F950C50: 0000000000007FFF 000000000000000F 0000000000001000 00000000B646B000 000003F950C70: 000000003F950CD0 00000000B646BB10 0000000000000000 0000000000000BA1 000003F950C90: 0000000000000000 00000000B5A3E8A0 000000007A96E000 0000000000000FFF 000003F950CB0: 0000000000BA0A00 0000000000000001 0000000000001000 000000003F95F5D4 ASSERT [ArmCpuDxe] /home/skodde/macchiatobin/edk/uefi-marvell/ArmPkg/Library/DefaultExceptionHandlerLib/AArch64/DefaultExceptionHandler.c(271): ((BOOLEAN)(0==1)) - CONFIG_GCC_PLUGIN_STACKLEAK=y && CONFIG_RANDOMIZE_BASE=n Loading Linux 5.2.11-00015-g0cc3335a89ac ... Loading initial ramdisk ... EFI stub: Booting Linux Kernel... EFI stub: Using DTB from configuration table EFI stub: Exiting boot services and installing virtual address map... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd081] [...] All good here. This time I did a distclean before each build. Thanks