• Matthew Garrett's avatar
    efi: be more paranoid about available space when creating variables · 68d92986
    Matthew Garrett authored
    UEFI variables are typically stored in flash. For various reasons, avaiable
    space is typically not reclaimed immediately upon the deletion of a
    variable - instead, the system will garbage collect during initialisation
    after a reboot.
    
    Some systems appear to handle this garbage collection extremely poorly,
    failing if more than 50% of the system flash is in use. This can result in
    the machine refusing to boot. The safest thing to do for the moment is to
    forbid writes if they'd end up using more than half of the storage space.
    We can make this more finegrained later if we come up with a method for
    identifying the broken machines.
    Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
    Cc: Josh Boyer <jwboyer@redhat.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
    68d92986
efivars.c 51.6 KB