From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752104AbbFZQm1 (ORCPT ); Fri, 26 Jun 2015 12:42:27 -0400 Received: from mout.web.de ([212.227.15.3]:53990 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751983AbbFZQmU (ORCPT ); Fri, 26 Jun 2015 12:42:20 -0400 Message-ID: <558D80E6.8030307@users.sourceforge.net> Date: Fri, 26 Jun 2015 18:42:14 +0200 From: SF Markus Elfring User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: linux-kernel@vger.kernel.org CC: kernel-janitors@vger.kernel.org, Julia Lawall Subject: Re: [PATCH] fs-proc: One function call less in proc_sys_lookup() after error detection References: <5307CAA2.8060406@users.sourceforge.net> <530A086E.8010901@users.sourceforge.net> <530A72AA.3000601@users.sourceforge.net> <530B5FB6.6010207@users.sourceforge.net> <530C5E18.1020800@users.sourceforge.net> <530CD2C4.4050903@users.sourceforge.net> <530CF8FF.8080600@users.sourceforge.net> <530DD06F.4090703@users.sourceforge.net> <5317A59D.4@users.sourceforge.net> <546B5CF3.1070203@users.sourceforge.net> In-Reply-To: <546B5CF3.1070203@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:8Zf0JBJOQ22CxQZNZHlQh0U7J/x40fNYPEcPpOzQDDBlyroQuCw N1s4jNdJxHm3OYn4DB9KQlzLtFfySDkIWGRU86+QzJTIMfAgHCZKySTGbT3wW50RCJdciO+ 40I/SWg2vkXmqLlJVVx+FddMHYDKP5LWVodld6u7EUROfg3nnZ/D5jT0boNBQBlUHePNSfY mhbxy4kC8a7hpZ157Dc0w== X-UI-Out-Filterresults: notjunk:1;V01:K0:W+rzX5rdzgk=:E47h8SfqhN+cLeIrCXEUBD 3xGtrD3gTaRJIrElIwdFLbYqEd3NRHP/pfcRBM4oXUw9ChwOwkBUO71tDBJvHmQ3lcv2oYBU2 RiWW9LDn7FblmVjWhRvVaWfd+97mjesBOvYp74c1ewi/YHEnBDWaXUF5PZ62Y1H8IMMGMV9fr 3WnFgGGxuEgnlc3uZ0vcROUeo07ebxDIBgpmwC3nUULAb+MxglyM1fkS6BXHZ7zQ6QY+TFTHw 69uxFDOnkSMwZuae/IS+EvL5GN7ROzTnOc62dwz4JX6abRYeN/6L+bIjs4D7/QSCF8BP4CqfG MQ0bKMK9+hAra1u2g6Tmsj/C4D0YoyUzNQBkzW9DgJ8U2P2gXFM012YhV4ohGcbRfy1iBjFgD qIrViXM0g5F6ShbpYGX2PKlcQ1wSlKkFC4fvUPUOfgwmX8nhnhPdNe02xy8fAYZu11QWb7IMn mXq6jzmuyvp98zxMWPqJgb0VUyWLHd8hwrZN25GmmM4sIfS7eRXzypX89Dy3QceiYFEm7fSkt qxiBO0XZqJC5eoMVzDPYLXxKpcLmVRri7ZSHrSnTkO1S02L7J1PWSZRnqOMbE8nSFD51PzgQp xm6JqfFAOwkSLXEoLDw7CKYSQ1v9j4hqLY9qiZtRz0LMYxT5FvGEtt8FN6u8Kj6IW0mP3BWJs rfEFuVSFXAqPHOJeMSE3HCE/8DFbojuSL7WArTTlJznllW2sD7ZntKH4U7fROlsj4xh0= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > From: Markus Elfring > 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 > --- > 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