aboutsummaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-01-22 15:40:57 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2016-01-22 18:04:28 -0500
commit5955102c9984fa081b2d570cfac75c97eecf8f3b (patch)
treea4744386eac4b916e847eb4eedfada158f6527b4 /ipc
parent57b8f112cfe6622ddddb8c2641206bb5fa8a112d (diff)
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>
Diffstat (limited to 'ipc')
-rw-r--r--ipc/mqueue.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ipc/mqueue.c b/ipc/mqueue.c
index f4617cf07069..781c1399c6a3 100644
--- a/ipc/mqueue.c
+++ b/ipc/mqueue.c
@@ -795,7 +795,7 @@ SYSCALL_DEFINE4(mq_open, const char __user *, u_name, int, oflag, umode_t, mode,
795 795
796 ro = mnt_want_write(mnt); /* we'll drop it in any case */ 796 ro = mnt_want_write(mnt); /* we'll drop it in any case */
797 error = 0; 797 error = 0;
798 mutex_lock(&d_inode(root)->i_mutex); 798 inode_lock(d_inode(root));
799 path.dentry = lookup_one_len(name->name, root, strlen(name->name)); 799 path.dentry = lookup_one_len(name->name, root, strlen(name->name));
800 if (IS_ERR(path.dentry)) { 800 if (IS_ERR(path.dentry)) {
801 error = PTR_ERR(path.dentry); 801 error = PTR_ERR(path.dentry);
@@ -841,7 +841,7 @@ out_putfd:
841 put_unused_fd(fd); 841 put_unused_fd(fd);
842 fd = error; 842 fd = error;
843 } 843 }
844 mutex_unlock(&d_inode(root)->i_mutex); 844 inode_unlock(d_inode(root));
845 if (!ro) 845 if (!ro)
846 mnt_drop_write(mnt); 846 mnt_drop_write(mnt);
847out_putname: 847out_putname:
@@ -866,7 +866,7 @@ SYSCALL_DEFINE1(mq_unlink, const char __user *, u_name)
866 err = mnt_want_write(mnt); 866 err = mnt_want_write(mnt);
867 if (err) 867 if (err)
868 goto out_name; 868 goto out_name;
869 mutex_lock_nested(&d_inode(mnt->mnt_root)->i_mutex, I_MUTEX_PARENT); 869 inode_lock_nested(d_inode(mnt->mnt_root), I_MUTEX_PARENT);
870 dentry = lookup_one_len(name->name, mnt->mnt_root, 870 dentry = lookup_one_len(name->name, mnt->mnt_root,
871 strlen(name->name)); 871 strlen(name->name));
872 if (IS_ERR(dentry)) { 872 if (IS_ERR(dentry)) {
@@ -884,7 +884,7 @@ SYSCALL_DEFINE1(mq_unlink, const char __user *, u_name)
884 dput(dentry); 884 dput(dentry);
885 885
886out_unlock: 886out_unlock:
887 mutex_unlock(&d_inode(mnt->mnt_root)->i_mutex); 887 inode_unlock(d_inode(mnt->mnt_root));
888 if (inode) 888 if (inode)
889 iput(inode); 889 iput(inode);
890 mnt_drop_write(mnt); 890 mnt_drop_write(mnt);