First of all, there's no need to zero ->i_uid/->i_gid on root inode -
both had been set to zero already.  Moreover, let's take the iput()
on failure to the failure exit it belongs to...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
        root_inode = proc_get_inode(s, &proc_root);
        if (!root_inode)
                goto out_no_root;
-       root_inode->i_uid = 0;
-       root_inode->i_gid = 0;
        s->s_root = d_alloc_root(root_inode);
-       if (!s->s_root)
+       if (!s->s_root) {
+               iput(root_inode);
                goto out_no_root;
+       }
        return 0;
 
 out_no_root:
        printk("proc_read_super: get root inode failed\n");
-       iput(root_inode);
        pde_put(&proc_root);
        return -ENOMEM;
 }