Commit 5634708b authored by Eric W. Biederman's avatar Eric W. Biederman Committed by Linus Torvalds

[PATCH] proc: Fix the .. inode number on /proc/<pid>/fd

Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent f05e15b5
...@@ -1196,7 +1196,8 @@ static struct inode_operations proc_pid_link_inode_operations = { ...@@ -1196,7 +1196,8 @@ static struct inode_operations proc_pid_link_inode_operations = {
static int proc_readfd(struct file * filp, void * dirent, filldir_t filldir) static int proc_readfd(struct file * filp, void * dirent, filldir_t filldir)
{ {
struct inode *inode = filp->f_dentry->d_inode; struct dentry *dentry = filp->f_dentry;
struct inode *inode = dentry->d_inode;
struct task_struct *p = proc_task(inode); struct task_struct *p = proc_task(inode);
unsigned int fd, tid, ino; unsigned int fd, tid, ino;
int retval; int retval;
...@@ -1217,7 +1218,7 @@ static int proc_readfd(struct file * filp, void * dirent, filldir_t filldir) ...@@ -1217,7 +1218,7 @@ static int proc_readfd(struct file * filp, void * dirent, filldir_t filldir)
goto out; goto out;
filp->f_pos++; filp->f_pos++;
case 1: case 1:
ino = fake_ino(tid, PROC_TID_INO); ino = parent_ino(dentry);
if (filldir(dirent, "..", 2, 1, ino, DT_DIR) < 0) if (filldir(dirent, "..", 2, 1, ino, DT_DIR) < 0)
goto out; goto out;
filp->f_pos++; filp->f_pos++;
......
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