diff options
Diffstat (limited to 'ipc/mqueue.c')
| -rw-r--r-- | ipc/mqueue.c | 11 | 
1 files changed, 3 insertions, 8 deletions
diff --git a/ipc/mqueue.c b/ipc/mqueue.c index d09aa1c1e3e6..71881bddad25 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -608,7 +608,7 @@ out_unlock:  	return error;  } -static int mqueue_create(struct user_namespace *mnt_userns, struct inode *dir, +static int mqueue_create(struct mnt_idmap *idmap, struct inode *dir,  			 struct dentry *dentry, umode_t mode, bool excl)  {  	return mqueue_create_attr(dentry, mode, NULL); @@ -887,7 +887,7 @@ static int prepare_open(struct dentry *dentry, int oflag, int ro,  	if ((oflag & O_ACCMODE) == (O_RDWR | O_WRONLY))  		return -EINVAL;  	acc = oflag2acc[oflag & O_ACCMODE]; -	return inode_permission(&init_user_ns, d_inode(dentry), acc); +	return inode_permission(&nop_mnt_idmap, d_inode(dentry), acc);  }  static int do_mq_open(const char __user *u_name, int oflag, umode_t mode, @@ -979,7 +979,7 @@ SYSCALL_DEFINE1(mq_unlink, const char __user *, u_name)  		err = -ENOENT;  	} else {  		ihold(inode); -		err = vfs_unlink(&init_user_ns, d_inode(dentry->d_parent), +		err = vfs_unlink(&nop_mnt_idmap, d_inode(dentry->d_parent),  				 dentry, NULL);  	}  	dput(dentry); @@ -1709,11 +1709,6 @@ void mq_clear_sbinfo(struct ipc_namespace *ns)  	ns->mq_mnt->mnt_sb->s_fs_info = NULL;  } -void mq_put_mnt(struct ipc_namespace *ns) -{ -	kern_unmount(ns->mq_mnt); -} -  static int __init init_mqueue_fs(void)  {  	int error;  |