** Description changed: SRU Justification [Impact] Secure boot instances of linux-azure require an EFI framebuffer in some cases in order for the VM to boot. + + The issue was noticed in Ubuntu 18.04 linux-azure kernel, but actually + exists in the latest mainline kernel. The issue happens when the below + conditions are met: + + hyperv_pci is built into the kernel and hyperv_fb is not, i.e., this means hyperv_pci loads before hyperv_fb loads. + CONFIG_FB_EFI is not defined, i.e., the efifb driver is not used. + + Here is how the bug happens: + + Linux VM starts, and vmbus_reserve_fb() reserves the VRAM [base=0xf8000000, length=8MB]. + hyper-pci loads, gets MMIO [base=0xf8800000, lengh=8KB] as the bridge config window, and may get some other 64-bit MMIO ranges, and some 32-bit MMIO ranges (if needed.) + hyperv-fb loads, and gets MMIO [base=0xf8000000, lengh=8MB or a different length], and sets screen_info.lfb_base = 0. + VM panics. + The kdump kernel starts to run, and vmbus_reserve_fb() is not reserving [base=0xf8000000, length=8MB] due to the lfb_base==0. + hyperv-pci loads and gets [base=0xf8000000, lengh=8KB] and the host PCI VSP driver rejects this address as the bridge config window. + + The crux of the problem is that Linux vmbus driver itself is unable to + detect the VRAM base/length (it looks like a video BIOS call is needed + to get this info and such a BIOS call is inappropriate or impossible in + hv_vmbus) and has to rely on screen_info.lfb_base (which is set by grub + or the kdump/kexec tool and can be reset to zero by hyperv_fb/drm). + + Solution: Enable CONFIG_FB_EFI=y [Test Case] Microsoft tested. This config is also enabled on the master branch. [Where things could go wrong] VMs on certain instance types could fail to boot. [Other Info] SF: #00327005
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1959216 Title: linux-azure: CONFIG_FB_EFI=y To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-azure/+bug/1959216/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs