Index: base.c =================================================================== RCS file: /cvsdev/mvl-kernel/linux/fs/proc/base.c,v retrieving revision 1.3.34.4.6.1 diff -a -u -r1.3.34.4.6.1 base.c --- base.c 29 Oct 2003 05:09:35 -0000 1.3.34.4.6.1 +++ base.c 15 Dec 2003 20:00:12 -0000 @@ -882,22 +882,23 @@ struct task_struct *task = dir->u.proc_i.task; struct pid_entry *p; - error = -ENOENT; - inode = NULL; - for (p = base_stuff; p->name; p++) { if (p->len != dentry->d_name.len) continue; if (!memcmp(dentry->d_name.name, p->name, p->len)) break; } - if (!p->name) + + if (!p->name) { + error = -ENOENT; goto out; + } - error = -EINVAL; inode = proc_pid_make_inode(dir->i_sb, task, p->type); - if (!inode) + if (!inode) { + error = task->pid ? -EINVAL : -ENOENT; goto out; + } inode->i_mode = p->mode; /*