diff options
| author | Paul Mundt <lethal@linux-sh.org> | 2011-08-29 16:08:51 +0900 |
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2011-08-29 16:08:51 +0900 |
| commit | b9a3acf46afdafc601947136f63e9dd228cd86e8 (patch) | |
| tree | 2b206b6d3c51f673c94fbcdf03df2a699e7110d2 /fs/ecryptfs/read_write.c | |
| parent | 9f0fa7991af382bfa8c9575d2457a0b6ad03ac4c (diff) | |
| parent | 21d41f2b312231536cf981c960c83cc4493c0293 (diff) | |
Merge branch 'sh/stable-updates' into sh-latest
Diffstat (limited to 'fs/ecryptfs/read_write.c')
| -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 @@ int ecryptfs_write_lower(struct inode *ecryptfs_inode, char *data, loff_t offset, size_t size) { - struct ecryptfs_inode_info *inode_info; + struct file *lower_file; mm_segment_t fs_save; ssize_t rc; - inode_info = ecryptfs_inode_to_private(ecryptfs_inode); - BUG_ON(!inode_info->lower_file); + lower_file = ecryptfs_inode_to_private(ecryptfs_inode)->lower_file; + if (!lower_file) + return -EIO; fs_save = get_fs(); set_fs(get_ds()); - rc = vfs_write(inode_info->lower_file, data, size, &offset); + rc = vfs_write(lower_file, data, size, &offset); set_fs(fs_save); mark_inode_dirty_sync(ecryptfs_inode); return rc; @@ -225,15 +226,16 @@ out: int ecryptfs_read_lower(char *data, loff_t offset, size_t size, struct inode *ecryptfs_inode) { - struct ecryptfs_inode_info *inode_info = - ecryptfs_inode_to_private(ecryptfs_inode); + struct file *lower_file; mm_segment_t fs_save; ssize_t rc; - BUG_ON(!inode_info->lower_file); + lower_file = ecryptfs_inode_to_private(ecryptfs_inode)->lower_file; + if (!lower_file) + return -EIO; fs_save = get_fs(); set_fs(get_ds()); - rc = vfs_read(inode_info->lower_file, data, size, &offset); + rc = vfs_read(lower_file, data, size, &offset); set_fs(fs_save); return rc; } |
