I confirm I'm able to reproduce this bug in Raring using the instructions in the bug description. The problem is upstream commit:
dc7b3eb ipvs: Fix reuse connection if real server is dead
It causes a NULL pointer here:
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 }
when accessing the ipvs variable. In mainline kernel, this variable is initialised; in the 3.8 kernel it is not. I'll post a test kernel with a fix for testing. Another option is to revert the above commit.
I confirm I'm able to reproduce this bug in Raring using the instructions in the bug description. The problem is upstream commit:
dc7b3eb ipvs: Fix reuse connection if real server is dead
It causes a NULL pointer here: sysctl_ expire_ nodest_ conn(ipvs) ) && cp && cp->dest && !atomic_ read(&cp- >dest-> weight) ) && !iph.fragoffs && expire_ now(cp) ; conn_put( cp);
1658 if (unlikely(
1659 unlikely(
1660 is_new_conn(skb, &iph)) {
1661 ip_vs_conn_
1662 __ip_vs_
1663 cp = NULL;
1664 }
when accessing the ipvs variable. In mainline kernel, this variable is initialised; in the 3.8 kernel it is not. I'll post a test kernel with a fix for testing. Another option is to revert the above commit.