Use kmemdup rather than duplicating its implementation

Signed-off-by: YueHaibing <yuehaib...@huawei.com>
---
 drivers/pci/hotplug/pnv_php.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/pci/hotplug/pnv_php.c b/drivers/pci/hotplug/pnv_php.c
index 5070620..ee54f5b 100644
--- a/drivers/pci/hotplug/pnv_php.c
+++ b/drivers/pci/hotplug/pnv_php.c
@@ -275,14 +275,13 @@ static int pnv_php_add_devtree(struct pnv_php_slot 
*php_slot)
                goto free_fdt1;
        }
 
-       fdt = kzalloc(fdt_totalsize(fdt1), GFP_KERNEL);
+       fdt = kmemdup(fdt1, fdt_totalsize(fdt1), GFP_KERNEL);
        if (!fdt) {
                ret = -ENOMEM;
                goto free_fdt1;
        }
 
        /* Unflatten device tree blob */
-       memcpy(fdt, fdt1, fdt_totalsize(fdt1));
        dt = of_fdt_unflatten_tree(fdt, php_slot->dn, NULL);
        if (!dt) {
                ret = -EINVAL;



Reply via email to