diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2008-04-22 05:31:30 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2008-04-25 09:23:59 -0400 |
commit | 3b1253880b7a9e6db54b943b2d40bcf2202f58ab (patch) | |
tree | 5301be7b4d4310faa8db5a0d027b81421e36570e /include | |
parent | fd8328be874f4190a811c58cd4778ec2c74d2c05 (diff) |
[PATCH] sanitize unshare_files/reset_files_struct
* let unshare_files() give caller the displaced files_struct
* don't bother with grabbing reference only to drop it in the
caller if it hadn't been shared in the first place
* in that form unshare_files() is trivially implemented via
unshare_fd(), so we eliminate the duplicate logics in fork.c
* reset_files_struct() is not just only called for current;
it will break the system if somebody ever calls it for anything
else (we can't modify ->files of somebody else). Lose the
task_struct * argument.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/file.h | 3 | ||||
-rw-r--r-- | include/linux/fs.h | 3 |
2 files changed, 2 insertions, 4 deletions
diff --git a/include/linux/file.h b/include/linux/file.h index 653477021e4c..69baf5a4f0a5 100644 --- a/include/linux/file.h +++ b/include/linux/file.h | |||
@@ -117,7 +117,8 @@ struct task_struct; | |||
117 | 117 | ||
118 | struct files_struct *get_files_struct(struct task_struct *); | 118 | struct files_struct *get_files_struct(struct task_struct *); |
119 | void put_files_struct(struct files_struct *fs); | 119 | void put_files_struct(struct files_struct *fs); |
120 | void reset_files_struct(struct task_struct *, struct files_struct *); | 120 | void reset_files_struct(struct files_struct *); |
121 | int unshare_files(struct files_struct **); | ||
121 | 122 | ||
122 | extern struct kmem_cache *files_cachep; | 123 | extern struct kmem_cache *files_cachep; |
123 | 124 | ||
diff --git a/include/linux/fs.h b/include/linux/fs.h index ad41d0bbcb4d..e057438a05ad 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -2033,9 +2033,6 @@ static inline ino_t parent_ino(struct dentry *dentry) | |||
2033 | return res; | 2033 | return res; |
2034 | } | 2034 | } |
2035 | 2035 | ||
2036 | /* kernel/fork.c */ | ||
2037 | extern int unshare_files(void); | ||
2038 | |||
2039 | /* Transaction based IO helpers */ | 2036 | /* Transaction based IO helpers */ |
2040 | 2037 | ||
2041 | /* | 2038 | /* |