• Matthew Garrett's avatar
    efi: Add support for a UEFI variable filesystem · 5d9db883
    Matthew Garrett authored
    The existing EFI variables code only supports variables of up to 1024
    bytes. This limitation existed in version 0.99 of the EFI specification,
    but was removed before any full releases. Since variables can now be
    larger than a single page, sysfs isn't the best interface for this. So,
    instead, let's add a filesystem. Variables can be read, written and
    created, with the first 4 bytes of each variable representing its UEFI
    attributes. The create() method doesn't actually commit to flash since
    zero-length variables can't exist per-spec.
    
    Updates from Jeremy Kerr <jeremy.kerr@canonical.com>.
    Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
    Signed-off-by: default avatarJeremy Kerr <jeremy.kerr@canonical.com>
    Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
    5d9db883
efivars.c 40.4 KB