lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140212115344.GB4038@hmsreliant.think-freely.org>
Date:	Wed, 12 Feb 2014 06:53:44 -0500
From:	Neil Horman <nhorman@...driver.com>
To:	Wang Weidong <wangweidong1@...wei.com>
Cc:	davem@...emloft.net, vyasevich@...il.com, dborkman@...hat.com,
	sergei.shtylyov@...entembedded.com, netdev@...r.kernel.org
Subject: Re: [PATCH v3 2/2] sctp: optimize the sctp_sysctl_net_register

On Wed, Feb 12, 2014 at 09:44:44AM +0800, Wang Weidong wrote:
> Here, when the net is init_net, we needn't to kmemdup the ctl_table
> again. So add a check for net. Also we can save some memory.
> 
> Signed-off-by: Wang Weidong <wangweidong1@...wei.com>
> ---
>  net/sctp/sysctl.c | 17 ++++++++++-------
>  1 file changed, 10 insertions(+), 7 deletions(-)
> 
> diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c
> index d354de5..35c8923 100644
> --- a/net/sctp/sysctl.c
> +++ b/net/sctp/sysctl.c
> @@ -402,15 +402,18 @@ static int proc_sctp_do_rto_max(struct ctl_table *ctl, int write,
>  
>  int sctp_sysctl_net_register(struct net *net)
>  {
> -	struct ctl_table *table;
> -	int i;
> +	struct ctl_table *table = sctp_net_table;
> +
> +	if (!net_eq(net, &init_net)) {
> +		int i;
>  
> -	table = kmemdup(sctp_net_table, sizeof(sctp_net_table), GFP_KERNEL);
> -	if (!table)
> -		return -ENOMEM;
> +		table = kmemdup(sctp_net_table, sizeof(sctp_net_table), GFP_KERNEL);
> +		if (!table)
> +			return -ENOMEM;
>  
> -	for (i = 0; table[i].data; i++)
> -		table[i].data += (char *)(&net->sctp) - (char *)&init_net.sctp;
> +		for (i = 0; table[i].data; i++)
> +			table[i].data += (char *)(&net->sctp) - (char *)&init_net.sctp;
> +	}
>  
In the first version of this patch you complained about a lockdep issue.  Did
you figure out what that was, and if it related to these changes?

Neil

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ