Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c57dcb56 authored by Ross Lagerwall's avatar Ross Lagerwall Committed by Matt Fleming
Browse files

efivarfs: Ensure VariableName is NUL-terminated



Some buggy firmware implementations update VariableNameSize on success
such that it does not include the final NUL character which results in
garbage in the efivarfs name entries.  Use kzalloc on the efivar_entry
(as is done in efivars.c) to ensure that the name is always
NUL-terminated.

The buggy firmware is:
BIOS Information
        Vendor: Intel Corp.
        Version: S1200RP.86B.02.02.0005.102320140911
        Release Date: 10/23/2014
        BIOS Revision: 4.6
System Information
        Manufacturer: Intel Corporation
        Product Name: S1200RP_SE

Signed-off-by: default avatarRoss Lagerwall <ross.lagerwall@citrix.com>
Acked-by: default avatarMatthew Garrett <mjg59@coreos.com>
Cc: Jeremy Kerr <jk@ozlabs.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
parent bfbaafae
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -121,7 +121,7 @@ static int efivarfs_callback(efi_char16_t *name16, efi_guid_t vendor,
	int len, i;
	int len, i;
	int err = -ENOMEM;
	int err = -ENOMEM;


	entry = kmalloc(sizeof(*entry), GFP_KERNEL);
	entry = kzalloc(sizeof(*entry), GFP_KERNEL);
	if (!entry)
	if (!entry)
		return err;
		return err;