diff options
| author | Dmitry Torokhov <[email protected]> | 2023-05-01 15:20:08 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <[email protected]> | 2023-05-01 15:20:08 -0700 | 
| commit | 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e (patch) | |
| tree | d57f3a63479a07b4e0cece029886e76e04feb984 /fs/proc/base.c | |
| parent | 5dc63e56a9cf8df0b59c234a505a1653f1bdf885 (diff) | |
| parent | 53bea86b5712c7491bb3dae12e271666df0a308c (diff) | |
Merge branch 'next' into for-linus
Prepare input updates for 6.4 merge window.
Diffstat (limited to 'fs/proc/base.c')
| -rw-r--r-- | fs/proc/base.c | 22 | 
1 files changed, 11 insertions, 11 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c index 9e479d7d202b..5e0e0ccd47aa 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -685,7 +685,7 @@ static bool proc_fd_access_allowed(struct inode *inode)  	return allowed;  } -int proc_setattr(struct user_namespace *mnt_userns, struct dentry *dentry, +int proc_setattr(struct mnt_idmap *idmap, struct dentry *dentry,  		 struct iattr *attr)  {  	int error; @@ -694,11 +694,11 @@ int proc_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,  	if (attr->ia_valid & ATTR_MODE)  		return -EPERM; -	error = setattr_prepare(&init_user_ns, dentry, attr); +	error = setattr_prepare(&nop_mnt_idmap, dentry, attr);  	if (error)  		return error; -	setattr_copy(&init_user_ns, inode, attr); +	setattr_copy(&nop_mnt_idmap, inode, attr);  	mark_inode_dirty(inode);  	return 0;  } @@ -727,7 +727,7 @@ static bool has_pid_permissions(struct proc_fs_info *fs_info,  } -static int proc_pid_permission(struct user_namespace *mnt_userns, +static int proc_pid_permission(struct mnt_idmap *idmap,  			       struct inode *inode, int mask)  {  	struct proc_fs_info *fs_info = proc_sb_info(inode->i_sb); @@ -753,7 +753,7 @@ static int proc_pid_permission(struct user_namespace *mnt_userns,  		return -EPERM;  	} -	return generic_permission(&init_user_ns, inode, mask); +	return generic_permission(&nop_mnt_idmap, inode, mask);  } @@ -1959,14 +1959,14 @@ static struct inode *proc_pid_make_base_inode(struct super_block *sb,  	return inode;  } -int pid_getattr(struct user_namespace *mnt_userns, const struct path *path, +int pid_getattr(struct mnt_idmap *idmap, const struct path *path,  		struct kstat *stat, u32 request_mask, unsigned int query_flags)  {  	struct inode *inode = d_inode(path->dentry);  	struct proc_fs_info *fs_info = proc_sb_info(inode->i_sb);  	struct task_struct *task; -	generic_fillattr(&init_user_ns, inode, stat); +	generic_fillattr(&nop_mnt_idmap, inode, stat);  	stat->uid = GLOBAL_ROOT_UID;  	stat->gid = GLOBAL_ROOT_GID; @@ -3557,7 +3557,7 @@ int proc_pid_readdir(struct file *file, struct dir_context *ctx)   * This function makes sure that the node is always accessible for members of   * same thread group.   */ -static int proc_tid_comm_permission(struct user_namespace *mnt_userns, +static int proc_tid_comm_permission(struct mnt_idmap *idmap,  				    struct inode *inode, int mask)  {  	bool is_same_tgroup; @@ -3577,7 +3577,7 @@ static int proc_tid_comm_permission(struct user_namespace *mnt_userns,  		return 0;  	} -	return generic_permission(&init_user_ns, inode, mask); +	return generic_permission(&nop_mnt_idmap, inode, mask);  }  static const struct inode_operations proc_tid_comm_inode_operations = { @@ -3891,13 +3891,13 @@ static int proc_task_readdir(struct file *file, struct dir_context *ctx)  	return 0;  } -static int proc_task_getattr(struct user_namespace *mnt_userns, +static int proc_task_getattr(struct mnt_idmap *idmap,  			     const struct path *path, struct kstat *stat,  			     u32 request_mask, unsigned int query_flags)  {  	struct inode *inode = d_inode(path->dentry);  	struct task_struct *p = get_proc_task(inode); -	generic_fillattr(&init_user_ns, inode, stat); +	generic_fillattr(&nop_mnt_idmap, inode, stat);  	if (p) {  		stat->nlink += get_nr_threads(p);  |