Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3d3d35b1 authored by Al Viro's avatar Al Viro
Browse files

kill proc_ns completely



procfs inodes need only the ns_ops part; nsfs inodes don't need it at all

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent e149ed2b
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -66,8 +66,7 @@ static struct inode *proc_alloc_inode(struct super_block *sb)
	ei->pde = NULL;
	ei->sysctl = NULL;
	ei->sysctl_entry = NULL;
	ei->ns.ns = NULL;
	ei->ns.ns_ops = NULL;
	ei->ns_ops = NULL;
	inode = &ei->vfs_inode;
	inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
	return inode;
+1 −6
Original line number Diff line number Diff line
@@ -57,11 +57,6 @@ union proc_op {
		struct task_struct *task);
};

struct proc_ns {
	struct ns_common *ns;
	const struct proc_ns_operations *ns_ops;
};

struct proc_inode {
	struct pid *pid;
	int fd;
@@ -69,7 +64,7 @@ struct proc_inode {
	struct proc_dir_entry *pde;
	struct ctl_table_header *sysctl;
	struct ctl_table *sysctl_entry;
	struct proc_ns ns;
	const struct proc_ns_operations *ns_ops;
	struct inode vfs_inode;
};

+3 −3
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ static const struct proc_ns_operations *ns_entries[] = {
static void *proc_ns_follow_link(struct dentry *dentry, struct nameidata *nd)
{
	struct inode *inode = dentry->d_inode;
	const struct proc_ns_operations *ns_ops = PROC_I(inode)->ns.ns_ops;
	const struct proc_ns_operations *ns_ops = PROC_I(inode)->ns_ops;
	struct task_struct *task;
	struct path ns_path;
	void *error = ERR_PTR(-EACCES);
@@ -54,7 +54,7 @@ static void *proc_ns_follow_link(struct dentry *dentry, struct nameidata *nd)
static int proc_ns_readlink(struct dentry *dentry, char __user *buffer, int buflen)
{
	struct inode *inode = dentry->d_inode;
	const struct proc_ns_operations *ns_ops = PROC_I(inode)->ns.ns_ops;
	const struct proc_ns_operations *ns_ops = PROC_I(inode)->ns_ops;
	struct task_struct *task;
	char name[50];
	int res = -EACCES;
@@ -92,7 +92,7 @@ static int proc_ns_instantiate(struct inode *dir,
	ei = PROC_I(inode);
	inode->i_mode = S_IFLNK|S_IRWXUGO;
	inode->i_op = &proc_ns_link_inode_operations;
	ei->ns.ns_ops = ns_ops;
	ei->ns_ops = ns_ops;

	d_set_d_op(dentry, &pid_dentry_operations);
	d_add(dentry, inode);