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:
@@ -95,7 +95,7 @@ struct audit_fsnotify_mark *audit_alloc_mark(struct audit_krule *krule, char *pa
|
||||
if (IS_ERR(dentry))
|
||||
return (void *)dentry; /* returning an error */
|
||||
inode = path.dentry->d_inode;
|
||||
mutex_unlock(&inode->i_mutex);
|
||||
inode_unlock(inode);
|
||||
|
||||
audit_mark = kzalloc(sizeof(*audit_mark), GFP_KERNEL);
|
||||
if (unlikely(!audit_mark)) {
|
||||
|
||||
@@ -364,7 +364,7 @@ static int audit_get_nd(struct audit_watch *watch, struct path *parent)
|
||||
struct dentry *d = kern_path_locked(watch->path, parent);
|
||||
if (IS_ERR(d))
|
||||
return PTR_ERR(d);
|
||||
mutex_unlock(&d_backing_inode(parent->dentry)->i_mutex);
|
||||
inode_unlock(d_backing_inode(parent->dentry));
|
||||
if (d_is_positive(d)) {
|
||||
/* update watch filter fields */
|
||||
watch->dev = d_backing_inode(d)->i_sb->s_dev;
|
||||
|
||||
@@ -4872,9 +4872,9 @@ static int perf_fasync(int fd, struct file *filp, int on)
|
||||
struct perf_event *event = filp->private_data;
|
||||
int retval;
|
||||
|
||||
mutex_lock(&inode->i_mutex);
|
||||
inode_lock(inode);
|
||||
retval = fasync_helper(fd, filp, on, &event->fasync);
|
||||
mutex_unlock(&inode->i_mutex);
|
||||
inode_unlock(inode);
|
||||
|
||||
if (retval < 0)
|
||||
return retval;
|
||||
|
||||
+2
-2
@@ -1133,7 +1133,7 @@ static ssize_t relay_file_read_subbufs(struct file *filp, loff_t *ppos,
|
||||
if (!desc->count)
|
||||
return 0;
|
||||
|
||||
mutex_lock(&file_inode(filp)->i_mutex);
|
||||
inode_lock(file_inode(filp));
|
||||
do {
|
||||
if (!relay_file_read_avail(buf, *ppos))
|
||||
break;
|
||||
@@ -1153,7 +1153,7 @@ static ssize_t relay_file_read_subbufs(struct file *filp, loff_t *ppos,
|
||||
*ppos = relay_file_read_end_pos(buf, read_start, ret);
|
||||
}
|
||||
} while (desc->count && ret);
|
||||
mutex_unlock(&file_inode(filp)->i_mutex);
|
||||
inode_unlock(file_inode(filp));
|
||||
|
||||
return desc->written;
|
||||
}
|
||||
|
||||
+2
-2
@@ -222,9 +222,9 @@ sched_feat_write(struct file *filp, const char __user *ubuf,
|
||||
|
||||
/* Ensure the static_key remains in a consistent state */
|
||||
inode = file_inode(filp);
|
||||
mutex_lock(&inode->i_mutex);
|
||||
inode_lock(inode);
|
||||
i = sched_feat_set(cmp);
|
||||
mutex_unlock(&inode->i_mutex);
|
||||
inode_unlock(inode);
|
||||
if (i == __SCHED_FEAT_NR)
|
||||
return -EINVAL;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user