diff options
-rw-r--r-- | fs/pipe.c | 18 | ||||
-rw-r--r-- | include/linux/pipe_fs_i.h | 3 | ||||
-rw-r--r-- | kernel/exit.c | 2 |
3 files changed, 8 insertions, 15 deletions
diff --git a/fs/pipe.c b/fs/pipe.c index 6cac5ceeded0..a029a14bacf1 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -751,7 +751,7 @@ pipe_release(struct inode *inode, struct file *file) __pipe_unlock(pipe); if (kill) - __free_pipe_info(pipe); + free_pipe_info(pipe); return 0; } @@ -795,7 +795,7 @@ struct pipe_inode_info *alloc_pipe_info(void) return NULL; } -void __free_pipe_info(struct pipe_inode_info *pipe) +void free_pipe_info(struct pipe_inode_info *pipe) { int i; @@ -810,12 +810,6 @@ void __free_pipe_info(struct pipe_inode_info *pipe) kfree(pipe); } -void free_pipe_info(struct inode *inode) -{ - __free_pipe_info(inode->i_pipe); - inode->i_pipe = NULL; -} - static struct vfsmount *pipe_mnt __read_mostly; /* @@ -911,12 +905,12 @@ int create_pipe_files(struct file **res, int flags) err_file: put_filp(f); err_dentry: - free_pipe_info(inode); + free_pipe_info(inode->i_pipe); path_put(&path); return err; err_inode: - free_pipe_info(inode); + free_pipe_info(inode->i_pipe); iput(inode); return err; } @@ -1039,7 +1033,7 @@ static int fifo_open(struct inode *inode, struct file *filp) if (unlikely(inode->i_pipe)) { inode->i_pipe->files++; spin_unlock(&inode->i_lock); - __free_pipe_info(pipe); + free_pipe_info(pipe); pipe = inode->i_pipe; } else { inode->i_pipe = pipe; @@ -1143,7 +1137,7 @@ err: spin_unlock(&inode->i_lock); __pipe_unlock(pipe); if (kill) - __free_pipe_info(pipe); + free_pipe_info(pipe); return ret; } diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index 765114f16243..b8809fef61f5 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h @@ -147,8 +147,7 @@ int pipe_proc_fn(struct ctl_table *, int, void __user *, size_t *, loff_t *); void pipe_wait(struct pipe_inode_info *pipe); struct pipe_inode_info *alloc_pipe_info(void); -void free_pipe_info(struct inode * inode); -void __free_pipe_info(struct pipe_inode_info *); +void free_pipe_info(struct pipe_inode_info *); /* Generic pipe buffer ops functions */ void *generic_pipe_buf_map(struct pipe_inode_info *, struct pipe_buffer *, int); diff --git a/kernel/exit.c b/kernel/exit.c index 51e485ca9935..cd9e9e799bd2 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -847,7 +847,7 @@ void do_exit(long code) exit_io_context(tsk); if (tsk->splice_pipe) - __free_pipe_info(tsk->splice_pipe); + free_pipe_info(tsk->splice_pipe); if (tsk->task_frag.page) put_page(tsk->task_frag.page); |