• Shawn Guo's avatar
    efivars: respect EFI_UNSUPPORTED return from firmware · 483028ed
    Shawn Guo authored
    As per UEFI spec 2.8B section 8.2, EFI_UNSUPPORTED may be returned by
    EFI variable runtime services if no variable storage is supported by
    firmware.  In this case, there is no point for kernel to continue
    efivars initialization.  That said, efivar_init() should fail by
    returning an error code, so that efivarfs will not be mounted on
    /sys/firmware/efi/efivars at all.  Otherwise, user space like efibootmgr
    will be confused by the EFIVARFS_MAGIC seen there, while EFI variable
    calls cannot be made successfully.
    
    Cc: <stable@vger.kernel.org> # v5.10+
    Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
    Acked-by: default avatarArd Biesheuvel <ardb@kernel.org>
    Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
    483028ed
vars.c 30.7 KB