Relax /proc fix a bit
Clearign all of i_mode was a bit draconian. We only really care about S_ISUID/ISGID, after all. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
18b0bbd8ca
commit
9ee8ab9fbf
1 changed files with 2 additions and 1 deletions
|
@ -1338,8 +1338,8 @@ static int pid_revalidate(struct dentry *dentry, struct nameidata *nd)
|
|||
} else {
|
||||
inode->i_uid = 0;
|
||||
inode->i_gid = 0;
|
||||
inode->i_mode = 0;
|
||||
}
|
||||
inode->i_mode &= ~(S_ISUID | S_ISGID);
|
||||
security_task_to_inode(task, inode);
|
||||
put_task_struct(task);
|
||||
return 1;
|
||||
|
@ -1390,6 +1390,7 @@ static int tid_fd_revalidate(struct dentry *dentry, struct nameidata *nd)
|
|||
inode->i_uid = 0;
|
||||
inode->i_gid = 0;
|
||||
}
|
||||
inode->i_mode &= ~(S_ISUID | S_ISGID);
|
||||
security_task_to_inode(task, inode);
|
||||
put_task_struct(task);
|
||||
return 1;
|
||||
|
|
Loading…
Reference in a new issue