|
@@ -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:
|