RE: [PATCH 1/1] Drivers: hv: Select CONFIG_SYSFB only if EFI is enabled
From: Michael Kelley
Date: Mon Jun 30 2025 - 16:47:04 EST
From: mhkelley58@xxxxxxxxx <mhkelley58@xxxxxxxxx> Sent: Friday, June 13, 2025 4:01 PM
>
> Commit 96959283a58d ("Drivers: hv: Always select CONFIG_SYSFB
> for Hyper-V guests") selects CONFIG_SYSFB for Hyper-V guests
> so that screen_info is available to the VMBus driver to get
> the location of the framebuffer in Generation 2 VMs. However,
> if CONFIG_HYPERV is enabled but CONFIG_EFI is not, a kernel
> link error results in ARM64 builds because screen_info is
> provided by the EFI firmware interface. While configuring
> an ARM64 Hyper-V guest without EFI isn't useful since EFI is
> required to boot, the configuration is still possible and
> the link error should be prevented.
>
> Fix this by making the selection of CONFIG_SYSFB conditional
> on CONFIG_EFI being defined. For Generation 1 VMs on x86/x64,
> which don't use EFI, the additional condition is OK because
> such VMs get the framebuffer information via a mechanism
> that doesn't use screen_info.
>
> Fixes: 96959283a58d ("Drivers: hv: Always select CONFIG_SYSFB for Hyper-V guests")
> Reported-by: Arnd Bergmann <arnd@xxxxxxxx>
> Closes: https://lore.kernel.org/linux-hyperv/20250610091810.2638058-1-arnd@xxxxxxxxxx/
Arnd -- Can you give a "Reviewed-by:" or "Acked-by:" for this fix? It
needs to get into linux-next and then into Linus' tree before we
get too late in the 6.16 release cycle.
Michael
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202506080820.1wmkQufc-lkp@xxxxxxxxx/
> Signed-off-by: Michael Kelley <mhklinux@xxxxxxxxxxx>
> ---
> drivers/hv/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig
> index 1cd188b73b74..57623ca7f350 100644
> --- a/drivers/hv/Kconfig
> +++ b/drivers/hv/Kconfig
> @@ -9,7 +9,7 @@ config HYPERV
> select PARAVIRT
> select X86_HV_CALLBACK_VECTOR if X86
> select OF_EARLY_FLATTREE if OF
> - select SYSFB if !HYPERV_VTL_MODE
> + select SYSFB if EFI && !HYPERV_VTL_MODE
> help
> Select this option to run Linux as a Hyper-V client operating
> system.
> --
> 2.25.1
>