* [patch] ipvs: zero usvc and udest
@ 2009-12-14 22:39 Simon Horman
2009-12-15 16:02 ` Patrick McHardy
0 siblings, 1 reply; 2+ messages in thread
From: Simon Horman @ 2009-12-14 22:39 UTC (permalink / raw)
To: lvs-devel, netfilter-devel, netdev
Cc: Deon van der Merwe, Wensong Zhang, Julian Anastasov,
Patrick McHardy, David Miller
Make sure that any otherwise uninitialised fields of usvc are zero.
This has been obvserved to cause a problem whereby the port of
fwmark services may end up as a non-zero value which causes
scheduling of a destination server to fail for persisitent services.
As observed by Deon van der Merwe <dvdm@truteq.co.za>.
This fix suggested by Julian Anastasov <ja@ssi.bg>.
For good measure also zero udest.
Cc: Deon van der Merwe <dvdm@truteq.co.za>
Acked-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
---
This bug has been present since the netlink interface to IPVS was
introduced in 2.6.28. I think it is relevant for 2.6.33 as well
as -stable.
Index: linux-2.6/net/netfilter/ipvs/ip_vs_ctl.c
===================================================================
--- linux-2.6.orig/net/netfilter/ipvs/ip_vs_ctl.c 2009-12-11 14:22:23.000000000 +0900
+++ linux-2.6/net/netfilter/ipvs/ip_vs_ctl.c 2009-12-14 11:05:50.000000000 +0900
@@ -2714,6 +2714,8 @@ static int ip_vs_genl_parse_service(stru
if (!(nla_af && (nla_fwmark || (nla_port && nla_protocol && nla_addr))))
return -EINVAL;
+ memset(usvc, 0, sizeof(*usvc));
+
usvc->af = nla_get_u16(nla_af);
#ifdef CONFIG_IP_VS_IPV6
if (usvc->af != AF_INET && usvc->af != AF_INET6)
@@ -2901,6 +2903,8 @@ static int ip_vs_genl_parse_dest(struct
if (!(nla_addr && nla_port))
return -EINVAL;
+ memset(udest, 0, sizeof(*udest));
+
nla_memcpy(&udest->addr, nla_addr, sizeof(udest->addr));
udest->port = nla_get_u16(nla_port);
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [patch] ipvs: zero usvc and udest
2009-12-14 22:39 [patch] ipvs: zero usvc and udest Simon Horman
@ 2009-12-15 16:02 ` Patrick McHardy
0 siblings, 0 replies; 2+ messages in thread
From: Patrick McHardy @ 2009-12-15 16:02 UTC (permalink / raw)
To: Simon Horman
Cc: lvs-devel, netfilter-devel, netdev, Deon van der Merwe,
Wensong Zhang, Julian Anastasov, David Miller
Simon Horman wrote:
> Make sure that any otherwise uninitialised fields of usvc are zero.
>
> This has been obvserved to cause a problem whereby the port of
> fwmark services may end up as a non-zero value which causes
> scheduling of a destination server to fail for persisitent services.
>
> As observed by Deon van der Merwe <dvdm@truteq.co.za>.
> This fix suggested by Julian Anastasov <ja@ssi.bg>.
>
> For good measure also zero udest.
>
> Cc: Deon van der Merwe <dvdm@truteq.co.za>
> Acked-by: Julian Anastasov <ja@ssi.bg>
> Signed-off-by: Simon Horman <horms@verge.net.au>
>
> ---
>
> This bug has been present since the netlink interface to IPVS was
> introduced in 2.6.28. I think it is relevant for 2.6.33 as well
> as -stable.
Applied, thanks. I'll push it to -stable as well.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-12-15 16:02 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-14 22:39 [patch] ipvs: zero usvc and udest Simon Horman
2009-12-15 16:02 ` Patrick McHardy
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).