diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2015-02-21 22:16:11 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-03-18 13:22:32 +0100 |
commit | cf6c05a77c5ef41bd72f45a4a008724ffd393668 (patch) | |
tree | 6f2f2960eea3cc25b14ef7928ffca93c77152006 /fs/proc/generic.c | |
parent | db32c77427f773d625bc1e27720bd98cbb807185 (diff) |
procfs: fix race between symlink removals and traversals
commit 7e0e953bb0cf649f93277ac8fb67ecbb7f7b04a9 upstream.
use_pde()/unuse_pde() in ->follow_link()/->put_link() resp.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/proc/generic.c')
-rw-r--r-- | fs/proc/generic.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/fs/proc/generic.c b/fs/proc/generic.c index a2596afffae6..846b1d7852ed 100644 --- a/fs/proc/generic.c +++ b/fs/proc/generic.c @@ -19,7 +19,6 @@ #include <linux/mount.h> #include <linux/init.h> #include <linux/idr.h> -#include <linux/namei.h> #include <linux/bitops.h> #include <linux/spinlock.h> #include <linux/completion.h> @@ -163,17 +162,6 @@ void proc_free_inum(unsigned int inum) spin_unlock_irqrestore(&proc_inum_lock, flags); } -static void *proc_follow_link(struct dentry *dentry, struct nameidata *nd) -{ - nd_set_link(nd, __PDE_DATA(dentry->d_inode)); - return NULL; -} - -static const struct inode_operations proc_link_inode_operations = { - .readlink = generic_readlink, - .follow_link = proc_follow_link, -}; - /* * As some entries in /proc are volatile, we want to * get rid of unused dentries. This could be made |