> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> > Date: Tue, 18 Nov 2014 15:42:43 +0100 > > The sysctl_head_finish() function was called in an inefficient way by the > implementation of the proc_sys_lookup() function in case of a lookup failure. > The corresponding source code was improved by deletion of an unnecessary > null pointer check and a few adjustments for jump labels. > > Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx> > --- > fs/proc/proc_sysctl.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c > index f92d5dd..6606aaf 100644 > --- a/fs/proc/proc_sysctl.c > +++ b/fs/proc/proc_sysctl.c > @@ -457,21 +457,21 @@ static struct dentry *proc_sys_lookup(struct inode *dir, struct dentry *dentry, > ret = sysctl_follow_link(&h, &p, current->nsproxy); > err = ERR_PTR(ret); > if (ret) > - goto out; > + goto inode_failure; > } > > err = ERR_PTR(-ENOMEM); > inode = proc_sys_make_inode(dir->i_sb, h ? h : head, p); > if (!inode) > - goto out; > + goto inode_failure; > > err = NULL; > d_set_d_op(dentry, &proc_sys_dentry_operations); > d_add(dentry, inode); > > +inode_failure: > + sysctl_head_finish(h); > out: > - if (h) > - sysctl_head_finish(h); > sysctl_head_finish(head); > return err; > } > Would anybody like to integrate this update suggestion into a source code repository? Regards, Markus -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html