diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2013-06-04 11:08:17 +1000 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2013-06-04 11:08:17 +1000 |
commit | 6569e7008a41b61740c1353541167c2a11fcf379 (patch) | |
tree | 5d2587b44ff77cb4f86a9b528ed32f8a00ea4f58 /fs | |
parent | dde97d7a1ce5050bf05e429056a3a6ccdec01a25 (diff) | |
parent | 6fd99d33edcb5f7a78ae8f9205891ce03f180d4e (diff) |
Merge remote-tracking branch 'ecryptfs/next'
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ecryptfs/file.c | 1 | ||||
-rw-r--r-- | fs/ecryptfs/messaging.c | 3 |
2 files changed, 2 insertions, 2 deletions
diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c index 201f0a0d6b0a..16f509d6fa49 100644 --- a/fs/ecryptfs/file.c +++ b/fs/ecryptfs/file.c @@ -295,6 +295,7 @@ static int ecryptfs_release(struct inode *inode, struct file *file) static int ecryptfs_fsync(struct file *file, loff_t start, loff_t end, int datasync) { + filemap_write_and_wait(file->f_mapping); return vfs_fsync(ecryptfs_file_to_lower(file), datasync); } diff --git a/fs/ecryptfs/messaging.c b/fs/ecryptfs/messaging.c index 49ff8ea08f1c..e57380e5f6bd 100644 --- a/fs/ecryptfs/messaging.c +++ b/fs/ecryptfs/messaging.c @@ -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; |