Merge tag 'for-linus-5.1a-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / arch / x86 / kernel / e820.c
index e67513e2cbbb1711ebe0a972d6642161dee36392..666e4af145a25dd6be6113269259c45d6aa4a895 100644 (file)
@@ -672,21 +672,18 @@ __init void e820__reallocate_tables(void)
        int size;
 
        size = offsetof(struct e820_table, entries) + sizeof(struct e820_entry)*e820_table->nr_entries;
-       n = kmalloc(size, GFP_KERNEL);
+       n = kmemdup(e820_table, size, GFP_KERNEL);
        BUG_ON(!n);
-       memcpy(n, e820_table, size);
        e820_table = n;
 
        size = offsetof(struct e820_table, entries) + sizeof(struct e820_entry)*e820_table_kexec->nr_entries;
-       n = kmalloc(size, GFP_KERNEL);
+       n = kmemdup(e820_table_kexec, size, GFP_KERNEL);
        BUG_ON(!n);
-       memcpy(n, e820_table_kexec, size);
        e820_table_kexec = n;
 
        size = offsetof(struct e820_table, entries) + sizeof(struct e820_entry)*e820_table_firmware->nr_entries;
-       n = kmalloc(size, GFP_KERNEL);
+       n = kmemdup(e820_table_firmware, size, GFP_KERNEL);
        BUG_ON(!n);
-       memcpy(n, e820_table_firmware, size);
        e820_table_firmware = n;
 }