From: "Huang Zijiang" <huang.ziji...@zte.com.cn>

changes since v1:
        redo the patch based on suggestions from Boris.
v1 link:https://lkml.org/lkml/2019/1/8/30

kmemdup is the same function as kmalloc() + memcpy().

Signed-off-by: Huang Zijiang <huang.ziji...@zte.com.cn>
---
 arch/x86/kernel/e820.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index 50895c2..a687d10 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -671,21 +671,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;
 }
 
-- 
1.8.3.1

Reply via email to