Commit 0afa5ca8 authored by Eric W. Biederman's avatar Eric W. Biederman

proc: Rename in proc_inode rename sysctl_inodes sibling_inodes

I about to need and use the same functionality for pid based
inodes and there is no point in adding a second field when
this field is already here and serving the same purporse.

Just give the field a generic name so it is clear that
it is no longer sysctl specific.

Also for good measure initialize sibling_inodes when
proc_inode is initialized.
Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
parent 11a48a5a
...@@ -68,6 +68,7 @@ static struct inode *proc_alloc_inode(struct super_block *sb) ...@@ -68,6 +68,7 @@ static struct inode *proc_alloc_inode(struct super_block *sb)
ei->pde = NULL; ei->pde = NULL;
ei->sysctl = NULL; ei->sysctl = NULL;
ei->sysctl_entry = NULL; ei->sysctl_entry = NULL;
INIT_HLIST_NODE(&ei->sibling_inodes);
ei->ns_ops = NULL; ei->ns_ops = NULL;
return &ei->vfs_inode; return &ei->vfs_inode;
} }
......
...@@ -91,7 +91,7 @@ struct proc_inode { ...@@ -91,7 +91,7 @@ struct proc_inode {
struct proc_dir_entry *pde; struct proc_dir_entry *pde;
struct ctl_table_header *sysctl; struct ctl_table_header *sysctl;
struct ctl_table *sysctl_entry; struct ctl_table *sysctl_entry;
struct hlist_node sysctl_inodes; struct hlist_node sibling_inodes;
const struct proc_ns_operations *ns_ops; const struct proc_ns_operations *ns_ops;
struct inode vfs_inode; struct inode vfs_inode;
} __randomize_layout; } __randomize_layout;
......
...@@ -279,9 +279,9 @@ static void proc_sys_prune_dcache(struct ctl_table_header *head) ...@@ -279,9 +279,9 @@ static void proc_sys_prune_dcache(struct ctl_table_header *head)
node = hlist_first_rcu(&head->inodes); node = hlist_first_rcu(&head->inodes);
if (!node) if (!node)
break; break;
ei = hlist_entry(node, struct proc_inode, sysctl_inodes); ei = hlist_entry(node, struct proc_inode, sibling_inodes);
spin_lock(&sysctl_lock); spin_lock(&sysctl_lock);
hlist_del_init_rcu(&ei->sysctl_inodes); hlist_del_init_rcu(&ei->sibling_inodes);
spin_unlock(&sysctl_lock); spin_unlock(&sysctl_lock);
inode = &ei->vfs_inode; inode = &ei->vfs_inode;
...@@ -483,7 +483,7 @@ static struct inode *proc_sys_make_inode(struct super_block *sb, ...@@ -483,7 +483,7 @@ static struct inode *proc_sys_make_inode(struct super_block *sb,
} }
ei->sysctl = head; ei->sysctl = head;
ei->sysctl_entry = table; ei->sysctl_entry = table;
hlist_add_head_rcu(&ei->sysctl_inodes, &head->inodes); hlist_add_head_rcu(&ei->sibling_inodes, &head->inodes);
head->count++; head->count++;
spin_unlock(&sysctl_lock); spin_unlock(&sysctl_lock);
...@@ -514,7 +514,7 @@ static struct inode *proc_sys_make_inode(struct super_block *sb, ...@@ -514,7 +514,7 @@ static struct inode *proc_sys_make_inode(struct super_block *sb,
void proc_sys_evict_inode(struct inode *inode, struct ctl_table_header *head) void proc_sys_evict_inode(struct inode *inode, struct ctl_table_header *head)
{ {
spin_lock(&sysctl_lock); spin_lock(&sysctl_lock);
hlist_del_init_rcu(&PROC_I(inode)->sysctl_inodes); hlist_del_init_rcu(&PROC_I(inode)->sibling_inodes);
if (!--head->count) if (!--head->count)
kfree_rcu(head, rcu); kfree_rcu(head, rcu);
spin_unlock(&sysctl_lock); spin_unlock(&sysctl_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment