wrappers for ->i_mutex access
parallel to mutex_{lock,unlock,trylock,is_locked,lock_nested}, inode_foo(inode) being mutex_foo(&inode->i_mutex). Please, use those for access to ->i_mutex; over the coming cycle ->i_mutex will become rwsem, with ->lookup() done with it held only shared. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -552,9 +552,9 @@ static int open_kcore(struct inode *inode, struct file *filp)
|
||||
if (kcore_need_update)
|
||||
kcore_update_ram();
|
||||
if (i_size_read(inode) != proc_root_kcore->size) {
|
||||
mutex_lock(&inode->i_mutex);
|
||||
inode_lock(inode);
|
||||
i_size_write(inode, proc_root_kcore->size);
|
||||
mutex_unlock(&inode->i_mutex);
|
||||
inode_unlock(inode);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@@ -50,7 +50,7 @@ int proc_setup_self(struct super_block *s)
|
||||
struct pid_namespace *ns = s->s_fs_info;
|
||||
struct dentry *self;
|
||||
|
||||
mutex_lock(&root_inode->i_mutex);
|
||||
inode_lock(root_inode);
|
||||
self = d_alloc_name(s->s_root, "self");
|
||||
if (self) {
|
||||
struct inode *inode = new_inode_pseudo(s);
|
||||
@@ -69,7 +69,7 @@ int proc_setup_self(struct super_block *s)
|
||||
} else {
|
||||
self = ERR_PTR(-ENOMEM);
|
||||
}
|
||||
mutex_unlock(&root_inode->i_mutex);
|
||||
inode_unlock(root_inode);
|
||||
if (IS_ERR(self)) {
|
||||
pr_err("proc_fill_super: can't allocate /proc/self\n");
|
||||
return PTR_ERR(self);
|
||||
|
@@ -52,7 +52,7 @@ int proc_setup_thread_self(struct super_block *s)
|
||||
struct pid_namespace *ns = s->s_fs_info;
|
||||
struct dentry *thread_self;
|
||||
|
||||
mutex_lock(&root_inode->i_mutex);
|
||||
inode_lock(root_inode);
|
||||
thread_self = d_alloc_name(s->s_root, "thread-self");
|
||||
if (thread_self) {
|
||||
struct inode *inode = new_inode_pseudo(s);
|
||||
@@ -71,7 +71,7 @@ int proc_setup_thread_self(struct super_block *s)
|
||||
} else {
|
||||
thread_self = ERR_PTR(-ENOMEM);
|
||||
}
|
||||
mutex_unlock(&root_inode->i_mutex);
|
||||
inode_unlock(root_inode);
|
||||
if (IS_ERR(thread_self)) {
|
||||
pr_err("proc_fill_super: can't allocate /proc/thread_self\n");
|
||||
return PTR_ERR(thread_self);
|
||||
|
Reference in New Issue
Block a user