|
@@ -275,14 +275,13 @@ static int pnv_php_add_devtree(struct pnv_php_slot *php_slot)
|
|
goto free_fdt1;
|
|
goto free_fdt1;
|
|
}
|
|
}
|
|
|
|
|
|
- fdt = kzalloc(fdt_totalsize(fdt1), GFP_KERNEL);
|
|
|
|
|
|
+ fdt = kmemdup(fdt1, fdt_totalsize(fdt1), GFP_KERNEL);
|
|
if (!fdt) {
|
|
if (!fdt) {
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
goto free_fdt1;
|
|
goto free_fdt1;
|
|
}
|
|
}
|
|
|
|
|
|
/* Unflatten device tree blob */
|
|
/* Unflatten device tree blob */
|
|
- memcpy(fdt, fdt1, fdt_totalsize(fdt1));
|
|
|
|
dt = of_fdt_unflatten_tree(fdt, php_slot->dn, NULL);
|
|
dt = of_fdt_unflatten_tree(fdt, php_slot->dn, NULL);
|
|
if (!dt) {
|
|
if (!dt) {
|
|
ret = -EINVAL;
|
|
ret = -EINVAL;
|