Re: [PATCH net-next] sctp: add a checking for sctp_sysctl_net_register

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2014/5/8 19:26, Wang Weidong wrote:
> On 2014/5/8 19:11, Neil Horman wrote:
>> On Thu, May 08, 2014 at 03:55:05PM +0800, Wang Weidong wrote:
>>> When register_net_sysctl failed, we should free the
>>> sysctl_table while the net_namespace is not init_net.
>>>
>>> Signed-off-by: Wang Weidong <wangweidong1@xxxxxxxxxx>
>>> ---
>>>  net/sctp/sysctl.c | 5 +++++
>>>  1 file changed, 5 insertions(+)
>>>
>>> diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c
>>> index 844d2b0..4c17694 100644
>>> --- a/net/sctp/sysctl.c
>>> +++ b/net/sctp/sysctl.c
>>> @@ -450,6 +450,11 @@ int sctp_sysctl_net_register(struct net *net)
>>>  	}
>>>  
>>>  	net->sctp.sysctl_header = register_net_sysctl(net, "net/sctp", table);
>>> +	if (net->sctp.sysctl_header == NULL) {
>>> +		if (!net_eq(net, &init_net))
>>> +			kfree(table);
>>> +		return -ENOMEM;
>>> +	}
>> Sorry, we're not special casing this in 3 places.  Why not just revert the
>> origonal commit so that all the sysctl tables can be handled the same way
>> Neil
>>
> Hi Neil,
> 
> The original commit avoids to kmemdup 
> 
Hi Neil,

Sorry for the accomplished mail.
Although, revert the original commit, the checking for net->sctp.sysctl_header
is need from coding view.

What do you think?

Regards
Wang

>>>  	return 0;
>>>  }
>>>  
>>> -- 
>>> 1.7.12
>>>
>>>
>>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>
> 


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




[Index of Archives]     [Linux Networking Development]     [Linux OMAP]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux