• Ard Biesheuvel's avatar
    efi: efivars: Fix variable writes with unsupported query_variable_store() · f11a74b4
    Ard Biesheuvel authored
    Commit 8a254d90 ("efi: efivars: Fix variable writes without
    query_variable_store()") addressed an issue that was introduced during
    the EFI variable store refactor, where alternative implementations of
    the efivars layer that lacked query_variable_store() would no longer
    work.
    
    Unfortunately, there is another case to consider here, which was missed:
    if the efivars layer is backed by the EFI runtime services as usual, but
    the EFI implementation predates the introduction of QueryVariableInfo(),
    we will return EFI_UNSUPPORTED, and this is no longer being dealt with
    correctly.
    
    So let's fix this, and while at it, clean up the code a bit, by merging
    the check_var_size() routines as well as their callers.
    
    Cc: <stable@vger.kernel.org> # v6.0
    Fixes: bbc6d2c6 ("efi: vars: Switch to new wrapper layer")
    Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
    Tested-by: default avatarAditya Garg <gargaditya08@live.com>
    f11a74b4
vars.c 5.61 KB