diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-01-22 15:40:57 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-01-22 18:04:28 -0500 |
commit | 5955102c9984fa081b2d570cfac75c97eecf8f3b (patch) | |
tree | a4744386eac4b916e847eb4eedfada158f6527b4 /ipc | |
parent | 57b8f112cfe6622ddddb8c2641206bb5fa8a112d (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.c | 8 |
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); |
847 | out_putname: | 847 | out_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 | ||
886 | out_unlock: | 886 | out_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); |