diff --git a/fs/incfs/data_mgmt.c b/fs/incfs/data_mgmt.c index 9e6ef41e4302..0ee9a2d56688 100644 --- a/fs/incfs/data_mgmt.c +++ b/fs/incfs/data_mgmt.c @@ -933,7 +933,7 @@ ssize_t incfs_read_data_file_block(struct mem_range dst, struct file *f, struct data_file_block block = {}; struct data_file *df = get_incfs_data_file(f); - if (!dst.data || !df || !tmp.data) + if (!dst.data || !df) return -EFAULT; if (tmp.len < 2 * INCFS_DATA_FILE_BLOCK_SIZE) diff --git a/fs/incfs/vfs.c b/fs/incfs/vfs.c index 7b1cd539aeed..045b83c798c8 100644 --- a/fs/incfs/vfs.c +++ b/fs/incfs/vfs.c @@ -470,9 +470,6 @@ static ssize_t pending_reads_read(struct file *f, char __user *buf, size_t len, ssize_t result = 0; int i = 0; - if (!mi) - return -EFAULT; - if (!incfs_fresh_pending_reads_exist(mi, last_known_read_sn)) return 0; @@ -801,17 +798,13 @@ static int read_single_page(struct file *f, struct page *page) ssize_t read_result = 0; struct data_file *df = get_incfs_data_file(f); int result = 0; - void *page_start; + void *page_start = kmap(page); int block_index; int timeout_ms; - if (!df) { - SetPageError(page); - unlock_page(page); + if (!df) return -EBADF; - } - page_start = kmap(page); offset = page_offset(page); block_index = offset / INCFS_DATA_FILE_BLOCK_SIZE; size = df->df_size; @@ -823,10 +816,6 @@ static int read_single_page(struct file *f, struct page *page) }; tmp.data = (u8 *)__get_free_pages(GFP_NOFS, get_order(tmp.len)); - if (!tmp.data) { - read_result = -ENOMEM; - goto err; - } bytes_to_read = min_t(loff_t, size - offset, PAGE_SIZE); read_result = incfs_read_data_file_block( range(page_start, bytes_to_read), f, block_index, @@ -838,7 +827,6 @@ static int read_single_page(struct file *f, struct page *page) read_result = 0; } -err: if (read_result < 0) result = read_result; else if (read_result < PAGE_SIZE) @@ -1518,9 +1506,6 @@ static struct dentry *dir_lookup(struct inode *dir_inode, struct dentry *dentry, range((u8 *)dentry->d_name.name, dentry->d_name.len); int err = 0; - if (!mi || !dir_info || !dir_info->n_backing_inode) - return ERR_PTR(-EBADF); - if (d_inode(mi->mi_backing_dir_path.dentry) == dir_info->n_backing_inode) { /* We do lookup in the FS root. Show pseudo files. */ @@ -1636,7 +1621,7 @@ static int dir_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) if (!backing_dentry) { err = -EBADF; - goto path_err; + goto out; } if (backing_dentry->d_parent == mi->mi_index_dir) { @@ -1668,8 +1653,6 @@ out: if (d_really_is_negative(dentry)) d_drop(dentry); path_put(&backing_path); - -path_err: mutex_unlock(&mi->mi_dir_struct_mutex); if (err) pr_debug("incfs: %s err:%d\n", __func__, err); @@ -1725,9 +1708,6 @@ static int dir_unlink(struct inode *dir, struct dentry *dentry) struct kstat stat; int err = 0; - if (!mi) - return -EBADF; - err = mutex_lock_interruptible(&mi->mi_dir_struct_mutex); if (err) return err; @@ -1735,7 +1715,7 @@ static int dir_unlink(struct inode *dir, struct dentry *dentry) get_incfs_backing_path(dentry, &backing_path); if (!backing_path.dentry) { err = -EBADF; - goto path_err; + goto out; } if (backing_path.dentry->d_parent == mi->mi_index_dir) { @@ -1763,7 +1743,6 @@ static int dir_unlink(struct inode *dir, struct dentry *dentry) d_drop(dentry); out: path_put(&backing_path); -path_err: if (err) pr_debug("incfs: %s err:%d\n", __func__, err); mutex_unlock(&mi->mi_dir_struct_mutex); @@ -1778,9 +1757,6 @@ static int dir_link(struct dentry *old_dentry, struct inode *dir, struct path backing_new_path = {}; int error = 0; - if (!mi) - return -EBADF; - error = mutex_lock_interruptible(&mi->mi_dir_struct_mutex); if (error) return error; @@ -1827,9 +1803,6 @@ static int dir_rmdir(struct inode *dir, struct dentry *dentry) struct path backing_path = {}; int err = 0; - if (!mi) - return -EBADF; - err = mutex_lock_interruptible(&mi->mi_dir_struct_mutex); if (err) return err; @@ -1837,7 +1810,7 @@ static int dir_rmdir(struct inode *dir, struct dentry *dentry) get_incfs_backing_path(dentry, &backing_path); if (!backing_path.dentry) { err = -EBADF; - goto path_err; + goto out; } if (backing_path.dentry == mi->mi_index_dir) { @@ -1851,8 +1824,6 @@ static int dir_rmdir(struct inode *dir, struct dentry *dentry) d_drop(dentry); out: path_put(&backing_path); - -path_err: if (err) pr_debug("incfs: %s err:%d\n", __func__, err); mutex_unlock(&mi->mi_dir_struct_mutex); @@ -1936,14 +1907,7 @@ static int file_open(struct inode *inode, struct file *file) struct path backing_path = {}; int err = 0; - if (!mi) - return -EBADF; - get_incfs_backing_path(file->f_path.dentry, &backing_path); - - if (!backing_path.dentry) - return -EBADF; - backing_file = dentry_open( &backing_path, O_RDWR | O_NOATIME | O_LARGEFILE, mi->mi_owner); path_put(&backing_path); @@ -2005,10 +1969,8 @@ static int dentry_revalidate(struct dentry *d, unsigned int flags) get_incfs_backing_path(d, &backing_path); backing_dentry = backing_path.dentry; - if (!backing_dentry) { - result = -EBADF; + if (!backing_dentry) goto out; - } if (d_inode(backing_dentry) != binode) { /*