linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re[2]:  [PATCH] netfilter: ipvs: Verify that IP_VS protocol  has been registered
@ 2012-04-06  8:59 Hans Schillstrom
  2012-04-06  9:22 ` Sasha Levin
  0 siblings, 1 reply; 2+ messages in thread
From: Hans Schillstrom @ 2012-04-06  8:59 UTC (permalink / raw)
  To: Simon Horman
  Cc: Sasha Levin, wensong, ja, kaber, davem, davej, netdev, lvs-devel,
	netfilter-devel, linux-kernel

Hello Simon

>---- Original Message ----
>From: Simon Horman <horms@verge.net.au>
>To: "Sasha Levin" <levinsasha928@gmail.com>
>Cc: wensong@linux-vs.org, ja@ssi.bg, kaber@trash.net, davem@davemloft.net, davej@redhat.com, netdev@vger.kernel.org, lvs-devel@vger.kernel.org, netfilter-devel@vger.kernel.org, linux-kernel@vger.kernel.org
>Sent: Fri, Apr 6, 2012, 1:19 AM
>Subject: Re: [PATCH] netfilter: ipvs: Verify that IP_VS protocol has been registered
>
>On Thu, Apr 05, 2012 at 07:24:33PM -0400, Sasha Levin wrote:
>> The registration of a protocol might fail, there were no checks
>> and all registrations were assumed to be correct. This lead to
>> NULL ptr dereferences when apps tried registering.
>
>Thanks, I will queue up this fix.
>
>Do you have a real-world example of this failing, if so it
>might be worth pushing your change into stable.

I don't think this is a big thing, the only thing that can cause it is out of memory,
and that will cause a "kernel death" anyway :-(

here is the code :

register_ip_vs_proto_netns(struct net *net, struct ip_vs_protocol *pp)
{
...
	struct ip_vs_proto_data *pd =
			kzalloc(sizeof(struct ip_vs_proto_data), GFP_ATOMIC);

	if (!pd)
		return -ENOMEM;


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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Re[2]: [PATCH] netfilter: ipvs: Verify that IP_VS protocol has been registered
  2012-04-06  8:59 Re[2]: [PATCH] netfilter: ipvs: Verify that IP_VS protocol has been registered Hans Schillstrom
@ 2012-04-06  9:22 ` Sasha Levin
  0 siblings, 0 replies; 2+ messages in thread
From: Sasha Levin @ 2012-04-06  9:22 UTC (permalink / raw)
  To: Hans Schillstrom
  Cc: Simon Horman, wensong, ja, kaber, davem, davej, netdev,
	lvs-devel, netfilter-devel, linux-kernel

On Fri, Apr 6, 2012 at 10:59 AM, Hans Schillstrom <hans@schillstrom.com> wrote:
> Hello Simon
>
>>---- Original Message ----
>>From: Simon Horman <horms@verge.net.au>
>>To: "Sasha Levin" <levinsasha928@gmail.com>
>>Cc: wensong@linux-vs.org, ja@ssi.bg, kaber@trash.net, davem@davemloft.net, davej@redhat.com, netdev@vger.kernel.org, lvs-devel@vger.kernel.org, netfilter-devel@vger.kernel.org, linux-kernel@vger.kernel.org
>>Sent: Fri, Apr 6, 2012, 1:19 AM
>>Subject: Re: [PATCH] netfilter: ipvs: Verify that IP_VS protocol has been registered
>>
>>On Thu, Apr 05, 2012 at 07:24:33PM -0400, Sasha Levin wrote:
>>> The registration of a protocol might fail, there were no checks
>>> and all registrations were assumed to be correct. This lead to
>>> NULL ptr dereferences when apps tried registering.
>>
>>Thanks, I will queue up this fix.
>>
>>Do you have a real-world example of this failing, if so it
>>might be worth pushing your change into stable.
>
> I don't think this is a big thing, the only thing that can cause it is out of memory,
> and that will cause a "kernel death" anyway :-(
>
> here is the code :
>
> register_ip_vs_proto_netns(struct net *net, struct ip_vs_protocol *pp)
> {
> ...
>        struct ip_vs_proto_data *pd =
>                        kzalloc(sizeof(struct ip_vs_proto_data), GFP_ATOMIC);
>
>        if (!pd)
>                return -ENOMEM;
>
>

Considering that the allocation gfp flag here is GFP_ATOMIC (why is it
GFP_ATOMIC btw?), it might fail for a variety of reasons which may
occur when the system is "healthy", for example - if it needs disk I/O
to allocate.

Either way, you shouldn't be dereferencing NULL ptrs even when the
system is really low on memory.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-04-06  9:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-06  8:59 Re[2]: [PATCH] netfilter: ipvs: Verify that IP_VS protocol has been registered Hans Schillstrom
2012-04-06  9:22 ` Sasha Levin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).