• Tim Schumacher's avatar
    efivarfs: Request at most 512 bytes for variable names · f45812cc
    Tim Schumacher authored
    Work around a quirk in a few old (2011-ish) UEFI implementations, where
    a call to `GetNextVariableName` with a buffer size larger than 512 bytes
    will always return EFI_INVALID_PARAMETER.
    
    There is some lore around EFI variable names being up to 1024 bytes in
    size, but this has no basis in the UEFI specification, and the upper
    bounds are typically platform specific, and apply to the entire variable
    (name plus payload).
    
    Given that Linux does not permit creating files with names longer than
    NAME_MAX (255) bytes, 512 bytes (== 256 UTF-16 characters) is a
    reasonable limit.
    
    Cc: <stable@vger.kernel.org> # 6.1+
    Signed-off-by: default avatarTim Schumacher <timschumi@gmx.de>
    Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
    f45812cc
vars.c 18.3 KB