lkml.org 
[lkml]   [2015]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.16.y-ckt 073/129] efivarfs: Ensure VariableName is NUL-terminated
    Date
    3.16.7-ckt12 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Ross Lagerwall <ross.lagerwall@citrix.com>

    commit c57dcb566d3d866a302a1da2e06344bec31d5bcd upstream.

    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>
    Signed-off-by: Matt Fleming <matt.fleming@intel.com>
    Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
    ---
    fs/efivarfs/super.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/fs/efivarfs/super.c b/fs/efivarfs/super.c
    index 0a48886e069c..c2f421c30ccd 100644
    --- a/fs/efivarfs/super.c
    +++ b/fs/efivarfs/super.c
    @@ -121,7 +121,7 @@ static int efivarfs_callback(efi_char16_t *name16, efi_guid_t vendor,
    int len, i;
    int err = -ENOMEM;

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


    \
     
     \ /
      Last update: 2015-05-22 11:41    [W:3.245 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site