Don't pass inode to ->d_hash() and ->d_compare()
[deliverable/linux.git] / fs / proc / proc_sysctl.c
index f3a570e7c2575a723b5ac4061c1dd7aca1cb80c8..71290463a1d3fa87a5132e21615792fe7fbaf9f4 100644 (file)
@@ -796,15 +796,16 @@ static int sysctl_is_seen(struct ctl_table_header *p)
        return res;
 }
 
-static int proc_sys_compare(const struct dentry *parent,
-               const struct inode *pinode,
-               const struct dentry *dentry, const struct inode *inode,
+static int proc_sys_compare(const struct dentry *parent, const struct dentry *dentry,
                unsigned int len, const char *str, const struct qstr *name)
 {
        struct ctl_table_header *head;
+       struct inode *inode;
+
        /* Although proc doesn't have negative dentries, rcu-walk means
         * that inode here can be NULL */
        /* AV: can it, indeed? */
+       inode = ACCESS_ONCE(dentry->d_inode);
        if (!inode)
                return 1;
        if (name->len != len)
This page took 0.03009 seconds and 5 git commands to generate.