[PATCH] proc: Fix the .. inode number on /proc/<pid>/fd
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
f05e15b594
commit
5634708b5f
@@ -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)
|
|||||||
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++;
|
||||||
|
Reference in New Issue
Block a user