Merge tag 'soc-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[firefly-linux-kernel-4.4.55.git] / drivers / acpi / bus.c
index 01708a16536829e5d8abdb7f34c0f3dc8415f0ba..292de3cab9cc0d4ac42cc551c80f3efdbdfeaf6b 100644 (file)
@@ -288,13 +288,12 @@ acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context)
        }
 out_success:
        context->ret.length = out_obj->buffer.length;
-       context->ret.pointer = kmalloc(context->ret.length, GFP_KERNEL);
+       context->ret.pointer = kmemdup(out_obj->buffer.pointer,
+                                      context->ret.length, GFP_KERNEL);
        if (!context->ret.pointer) {
                status =  AE_NO_MEMORY;
                goto out_kfree;
        }
-       memcpy(context->ret.pointer, out_obj->buffer.pointer,
-               context->ret.length);
        status =  AE_OK;
 
 out_kfree: