|
@@ -247,14 +247,13 @@ int ecryptfs_process_response(struct ecryptfs_daemon *daemon,
|
|
|
goto unlock;
|
|
|
}
|
|
|
msg_size = (sizeof(*msg) + msg->data_len);
|
|
|
- msg_ctx->msg = kmalloc(msg_size, GFP_KERNEL);
|
|
|
+ msg_ctx->msg = kmemdup(msg, msg_size, GFP_KERNEL);
|
|
|
if (!msg_ctx->msg) {
|
|
|
rc = -ENOMEM;
|
|
|
printk(KERN_ERR "%s: Failed to allocate [%zd] bytes of "
|
|
|
"GFP_KERNEL memory\n", __func__, msg_size);
|
|
|
goto unlock;
|
|
|
}
|
|
|
- memcpy(msg_ctx->msg, msg, msg_size);
|
|
|
msg_ctx->state = ECRYPTFS_MSG_CTX_STATE_DONE;
|
|
|
wake_up_process(msg_ctx->task);
|
|
|
rc = 0;
|