Commit 44ebe016 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace

Pull proc fix from Eric Biederman:
 "Much to my surprise syzbot found a very old bug in proc that the
  recent changes made easier to reproce. This bug is subtle enough it
  looks like it fooled everyone who should know better"

* 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
  proc: Use new_inode not new_inode_pseudo
parents 9433a51e ef1548ad
...@@ -617,7 +617,7 @@ const struct inode_operations proc_link_inode_operations = { ...@@ -617,7 +617,7 @@ const struct inode_operations proc_link_inode_operations = {
struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de) struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
{ {
struct inode *inode = new_inode_pseudo(sb); struct inode *inode = new_inode(sb);
if (inode) { if (inode) {
inode->i_ino = de->low_ino; inode->i_ino = de->low_ino;
......
...@@ -43,7 +43,7 @@ int proc_setup_self(struct super_block *s) ...@@ -43,7 +43,7 @@ int proc_setup_self(struct super_block *s)
inode_lock(root_inode); inode_lock(root_inode);
self = d_alloc_name(s->s_root, "self"); self = d_alloc_name(s->s_root, "self");
if (self) { if (self) {
struct inode *inode = new_inode_pseudo(s); struct inode *inode = new_inode(s);
if (inode) { if (inode) {
inode->i_ino = self_inum; inode->i_ino = self_inum;
inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode); inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
......
...@@ -43,7 +43,7 @@ int proc_setup_thread_self(struct super_block *s) ...@@ -43,7 +43,7 @@ int proc_setup_thread_self(struct super_block *s)
inode_lock(root_inode); inode_lock(root_inode);
thread_self = d_alloc_name(s->s_root, "thread-self"); thread_self = d_alloc_name(s->s_root, "thread-self");
if (thread_self) { if (thread_self) {
struct inode *inode = new_inode_pseudo(s); struct inode *inode = new_inode(s);
if (inode) { if (inode) {
inode->i_ino = thread_self_inum; inode->i_ino = thread_self_inum;
inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode); inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
......
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