]> Pileus Git - ~andy/linux/blobdiff - drivers/acpi/bus.c
Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penber...
[~andy/linux] / 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: