Hello Sasha >---- Original Message ---- >From: Sasha Levin <levinsasha928@xxxxxxxxx> >To: "Hans Schillstrom" <hans@xxxxxxxxxxxxxxx> >Cc: "Simon Horman" <horms@xxxxxxxxxxxx>, wensong@xxxxxxxxxxxx, ja@xxxxxx, kaber@xxxxxxxxx, davem@xxxxxxxxxxxxx, davej@xxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, lvs-devel@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx >Sent: Fri, Apr 6, 2012, 11:22 AM >Subject: Re: Re[2]: [PATCH] netfilter: ipvs: Verify that IP_VS protocol has been registered > >On Fri, Apr 6, 2012 at 10:59 AM, Hans Schillstrom <hans@xxxxxxxxxxxxxxx> wrote: >> Hello Simon >> >>>---- Original Message ---- >>>From: Simon Horman <horms@xxxxxxxxxxxx> >>>To: "Sasha Levin" <levinsasha928@xxxxxxxxx> >>>Cc: wensong@xxxxxxxxxxxx, ja@xxxxxx, kaber@xxxxxxxxx, davem@xxxxxxxxxxxxx, davej@xxxxxxxxxx, netdev@xxxxxxxxxxxxxxx, lvs-devel@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx >>>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. Hmm, I think it should be GFP_KERNEL I will have a look at this, and make it consistent with the rest of the netns allocations, > >Either way, you shouldn't be dereferencing NULL ptrs even when the >system is really low on memory. Of course not, it's a bug Simon: I think you should push this one into stable Thanks Sasha Regards Hans -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html