diff options
| -rw-r--r-- | fs/ecryptfs/read_write.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/fs/ecryptfs/read_write.c b/fs/ecryptfs/read_write.c index 85d430963116..3745f7c2b9c2 100644 --- a/fs/ecryptfs/read_write.c +++ b/fs/ecryptfs/read_write.c | |||
| @@ -39,15 +39,16 @@ | |||
| 39 | int ecryptfs_write_lower(struct inode *ecryptfs_inode, char *data, | 39 | int ecryptfs_write_lower(struct inode *ecryptfs_inode, char *data, |
| 40 | loff_t offset, size_t size) | 40 | loff_t offset, size_t size) |
| 41 | { | 41 | { |
| 42 | struct ecryptfs_inode_info *inode_info; | 42 | struct file *lower_file; |
| 43 | mm_segment_t fs_save; | 43 | mm_segment_t fs_save; |
| 44 | ssize_t rc; | 44 | ssize_t rc; |
| 45 | 45 | ||
| 46 | inode_info = ecryptfs_inode_to_private(ecryptfs_inode); | 46 | lower_file = ecryptfs_inode_to_private(ecryptfs_inode)->lower_file; |
| 47 | BUG_ON(!inode_info->lower_file); | 47 | if (!lower_file) |
| 48 | return -EIO; | ||
| 48 | fs_save = get_fs(); | 49 | fs_save = get_fs(); |
| 49 | set_fs(get_ds()); | 50 | set_fs(get_ds()); |
| 50 | rc = vfs_write(inode_info->lower_file, data, size, &offset); | 51 | rc = vfs_write(lower_file, data, size, &offset); |
| 51 | set_fs(fs_save); | 52 | set_fs(fs_save); |
| 52 | mark_inode_dirty_sync(ecryptfs_inode); | 53 | mark_inode_dirty_sync(ecryptfs_inode); |
| 53 | return rc; | 54 | return rc; |
| @@ -225,15 +226,16 @@ out: | |||
| 225 | int ecryptfs_read_lower(char *data, loff_t offset, size_t size, | 226 | int ecryptfs_read_lower(char *data, loff_t offset, size_t size, |
| 226 | struct inode *ecryptfs_inode) | 227 | struct inode *ecryptfs_inode) |
| 227 | { | 228 | { |
| 228 | struct ecryptfs_inode_info *inode_info = | 229 | struct file *lower_file; |
| 229 | ecryptfs_inode_to_private(ecryptfs_inode); | ||
| 230 | mm_segment_t fs_save; | 230 | mm_segment_t fs_save; |
| 231 | ssize_t rc; | 231 | ssize_t rc; |
| 232 | 232 | ||
| 233 | BUG_ON(!inode_info->lower_file); | 233 | lower_file = ecryptfs_inode_to_private(ecryptfs_inode)->lower_file; |
| 234 | if (!lower_file) | ||
| 235 | return -EIO; | ||
| 234 | fs_save = get_fs(); | 236 | fs_save = get_fs(); |
| 235 | set_fs(get_ds()); | 237 | set_fs(get_ds()); |
| 236 | rc = vfs_read(inode_info->lower_file, data, size, &offset); | 238 | rc = vfs_read(lower_file, data, size, &offset); |
| 237 | set_fs(fs_save); | 239 | set_fs(fs_save); |
| 238 | return rc; | 240 | return rc; |
| 239 | } | 241 | } |
