Commit 9ee8ab9f authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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: default avatarLinus Torvalds <torvalds@osdl.org>
parent 18b0bbd8
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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;