efivarfs: Ensure VariableName is NUL-terminated
authorRoss Lagerwall <ross.lagerwall@citrix.com>
Thu, 2 Apr 2015 07:39:00 +0000 (08:39 +0100)
committerMatt Fleming <matt.fleming@intel.com>
Fri, 17 Apr 2015 14:41:13 +0000 (15:41 +0100)
commitc57dcb566d3d866a302a1da2e06344bec31d5bcd
treedcfff9f237c2d3d6d82ccecbeee230f1756119ce
parentbfbaafae8519d82d10da6abe75f5766dd5b20475
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: Ross Lagerwall <ross.lagerwall@citrix.com>
Acked-by: Matthew Garrett <mjg59@coreos.com>
Cc: Jeremy Kerr <jk@ozlabs.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
fs/efivarfs/super.c