diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-04-03 19:07:30 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-04-09 15:16:51 -0400 |
commit | 866ad9a747bbf5461739fcae6d0a41c8971bbe1d (patch) | |
tree | 6a94d3434bbb9034f9aeed68a59e799abf7f8ff2 /fs/proc/internal.h | |
parent | ad147d011f4e9d4e4309f7974fd19c7f875ccb14 (diff) |
procfs: preparations for remove_proc_entry() race fixes
* leave ->proc_fops alone; make ->pde_users negative instead
* trim pde_opener
* move relevant code in fs/proc/inode.c
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/proc/internal.h')
-rw-r--r-- | fs/proc/internal.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/proc/internal.h b/fs/proc/internal.h index 9c93a53f371d..c43d536f93b9 100644 --- a/fs/proc/internal.h +++ b/fs/proc/internal.h | |||
@@ -151,12 +151,13 @@ int proc_readdir_de(struct proc_dir_entry *de, struct file *filp, void *dirent, | |||
151 | filldir_t filldir); | 151 | filldir_t filldir); |
152 | 152 | ||
153 | struct pde_opener { | 153 | struct pde_opener { |
154 | struct inode *inode; | ||
155 | struct file *file; | 154 | struct file *file; |
156 | int (*release)(struct inode *, struct file *); | ||
157 | struct list_head lh; | 155 | struct list_head lh; |
158 | }; | 156 | }; |
159 | void pde_users_dec(struct proc_dir_entry *pde); | 157 | |
158 | ssize_t __proc_file_read(struct file *, char __user *, size_t, loff_t *); | ||
159 | extern const struct file_operations proc_file_operations; | ||
160 | void proc_entry_rundown(struct proc_dir_entry *); | ||
160 | 161 | ||
161 | extern spinlock_t proc_subdir_lock; | 162 | extern spinlock_t proc_subdir_lock; |
162 | 163 | ||