On Sun, Apr 05, 2020 at 10:42:46PM +0700, Sergey Shatunov wrote: > This patch causes some strange things happens with my laptop. > > Cold boot crashed in some early initilization logic with message 'Failed to execute /esp/.../linux.efi: Buffer Too Small'. > After couple reboots into firmware setup (bios) or hot reboot from other working kernel (without that commit) helps it to boot. > During bisecting couple times I saw different message: 'exit_efi() failed; efi_main() failed', but above tricks helps it too. > So bisect points to that commit and I tried to compile kernel with that commit reverted and it works flawlessly. > > Some notes about my setup: > Kernel tree I used: Torvalds git (which recently pulls that commit). > Kernel itself with initrd and cmdline packed into systemd-boot stub (probably here can be issues too, not sure). > Secure boot enabled with custom keyring. > > I can provide more info or change my setup (for example get rid of systemd-boot stub) if needed for sure. I'm not familiar with systemd-boot: when you say systemd-boot stub, is that something different from the kernel's EFI_STUB option? Or is it just a kernel with EFI_STUB enabled and with builtin initramfs + builtin cmdline? If it is different, can you point me to the tool that creates it? The first error message you mention should be from systemd-boot after the kernel exits with an EFI_BUFFER_TOO_SMALL error status. The second one -- is that 'exit_boot() failed' rather than 'exit_efi() failed'? I can't find the latter string in the tree. Can you also specify a commit tag that is broken + works with this patch reverted, just to make sure we're looking at the same code? Thanks Cc linux-efi.