[SRU][Raring][PATCH 0/1] ipvs: add backup_only flag to avoid loops
Luis Henriques
luis.henriques at canonical.com
Mon Oct 14 09:33:29 UTC 2013
SRU Justification:
Impact:
A NULL pointer dereferrence will occur when a user adds an IPVS
service. This occurs since kernel 3.8.0-28.41 (Raring), after commit:
dc7b3eb ipvs: Fix reuse connection if real server is dead
The NULL pointer occurs when accessing the ipvs variable in line 1658:
1658 if (unlikely(sysctl_expire_nodest_conn(ipvs)) && cp && cp->dest &&
1659 unlikely(!atomic_read(&cp->dest->weight)) && !iph.fragoffs &&
1660 is_new_conn(skb, &iph)) {
1661 ip_vs_conn_expire_now(cp);
1662 __ip_vs_conn_put(cp);
1663 cp = NULL;
1664 }
Mainline kernel has this variable initialised earlier, with commit:
0c12582 ipvs: add backup_only flag to avoid loops
Fix:
Apply commit 0c12582 "ipvs: add backup_only flag to avoid loops" fix
the problem. Bug reporter has claimed success with a test kernel that
contains this commit.
Testcase:
Simply running the command:
sudo ipvsadm -A -u 10.0.50.4:53
Will trigger the bug.
Julian Anastasov (1):
ipvs: add backup_only flag to avoid loops
Documentation/networking/ipvs-sysctl.txt | 7 +++++++
include/net/ip_vs.h | 12 ++++++++++++
net/netfilter/ipvs/ip_vs_core.c | 12 ++++++++----
net/netfilter/ipvs/ip_vs_ctl.c | 7 +++++++
4 files changed, 34 insertions(+), 4 deletions(-)
--
1.8.3.2
More information about the kernel-team
mailing list