diff options
-rw-r--r-- | arch/x86/kernel/cpu/microcode/intel.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/microcode/intel.c b/arch/x86/kernel/cpu/microcode/intel.c index 1c2cfa0644aa..97ccf4c3b45b 100644 --- a/arch/x86/kernel/cpu/microcode/intel.c +++ b/arch/x86/kernel/cpu/microcode/intel.c | |||
@@ -190,8 +190,11 @@ static void save_microcode_patch(void *data, unsigned int size) | |||
190 | p = memdup_patch(data, size); | 190 | p = memdup_patch(data, size); |
191 | if (!p) | 191 | if (!p) |
192 | pr_err("Error allocating buffer %p\n", data); | 192 | pr_err("Error allocating buffer %p\n", data); |
193 | else | 193 | else { |
194 | list_replace(&iter->plist, &p->plist); | 194 | list_replace(&iter->plist, &p->plist); |
195 | kfree(iter->data); | ||
196 | kfree(iter); | ||
197 | } | ||
195 | } | 198 | } |
196 | } | 199 | } |
197 | 200 | ||