proc: remove a level of indentation in proc_get_inode
Just return early on inode allocation failure. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
9123e3a74e
commit
f6ef7b7bb2
@ -619,15 +619,19 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
|
|||||||
{
|
{
|
||||||
struct inode *inode = new_inode(sb);
|
struct inode *inode = new_inode(sb);
|
||||||
|
|
||||||
if (inode) {
|
if (!inode) {
|
||||||
|
pde_put(de);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
inode->i_ino = de->low_ino;
|
inode->i_ino = de->low_ino;
|
||||||
inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
|
inode->i_mtime = inode->i_atime = inode->i_ctime = current_time(inode);
|
||||||
PROC_I(inode)->pde = de;
|
PROC_I(inode)->pde = de;
|
||||||
|
|
||||||
if (is_empty_pde(de)) {
|
if (is_empty_pde(de)) {
|
||||||
make_empty_dir_inode(inode);
|
make_empty_dir_inode(inode);
|
||||||
return inode;
|
return inode;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (de->mode) {
|
if (de->mode) {
|
||||||
inode->i_mode = de->mode;
|
inode->i_mode = de->mode;
|
||||||
inode->i_uid = de->uid;
|
inode->i_uid = de->uid;
|
||||||
@ -642,9 +646,8 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
|
|||||||
inode->i_op = de->proc_iops;
|
inode->i_op = de->proc_iops;
|
||||||
inode->i_fop = &proc_reg_file_ops;
|
inode->i_fop = &proc_reg_file_ops;
|
||||||
#ifdef CONFIG_COMPAT
|
#ifdef CONFIG_COMPAT
|
||||||
if (!de->proc_ops->proc_compat_ioctl) {
|
if (!de->proc_ops->proc_compat_ioctl)
|
||||||
inode->i_fop = &proc_reg_file_ops_no_compat;
|
inode->i_fop = &proc_reg_file_ops_no_compat;
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
} else if (S_ISDIR(inode->i_mode)) {
|
} else if (S_ISDIR(inode->i_mode)) {
|
||||||
inode->i_op = de->proc_iops;
|
inode->i_op = de->proc_iops;
|
||||||
@ -652,9 +655,8 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
|
|||||||
} else if (S_ISLNK(inode->i_mode)) {
|
} else if (S_ISLNK(inode->i_mode)) {
|
||||||
inode->i_op = de->proc_iops;
|
inode->i_op = de->proc_iops;
|
||||||
inode->i_fop = NULL;
|
inode->i_fop = NULL;
|
||||||
} else
|
} else {
|
||||||
BUG();
|
BUG();
|
||||||
} else
|
}
|
||||||
pde_put(de);
|
|
||||||
return inode;
|
return inode;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user