]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/firmware/efi/efivars.c
efivar: fix oops in efivar_update_sysfs_entries() caused by memory reuse
[karo-tx-linux.git] / drivers / firmware / efi / efivars.c
index b623c599e572975fd30db879da54194ef025dcf7..8bd1bb6dbe4739cf0914a129a12363c1bf157820 100644 (file)
@@ -523,13 +523,11 @@ static void efivar_update_sysfs_entries(struct work_struct *work)
        struct efivar_entry *entry;
        int err;
 
-       entry = kzalloc(sizeof(*entry), GFP_KERNEL);
-       if (!entry)
-               return;
-
        /* Add new sysfs entries */
        while (1) {
-               memset(entry, 0, sizeof(*entry));
+               entry = kzalloc(sizeof(*entry), GFP_KERNEL);
+               if (!entry)
+                       return;
 
                err = efivar_init(efivar_update_sysfs_entry, entry,
                                  true, false, &efivar_sysfs_list);