forked from luck/tmp_suning_uos_patched
Merge branch 'master' of git://1984.lsi.us.es/nf
Pablo Neira Ayuso says: ==================== I know that we're in fairly late stage to request pulls, but the IPVS people pinged me with little patches with oops fixes last week. One of them was recently introduced (during the 3.4 development cycle) while cleaning up the IPVS netns support. They are: * Fix one regression introduced in 3.4 while cleaning up the netns support for IPVS, from Julian Anastasov. * Fix one oops triggered due to resetting the conntrack attached to the skb instead of just putting it in the forward hook, from Lin Ming. This problem seems to be there since 2.6.37 according to Simon Horman. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
602e65a3b0
@ -1425,7 +1425,7 @@ static inline void ip_vs_notrack(struct sk_buff *skb)
|
||||
struct nf_conn *ct = nf_ct_get(skb, &ctinfo);
|
||||
|
||||
if (!ct || !nf_ct_is_untracked(ct)) {
|
||||
nf_reset(skb);
|
||||
nf_conntrack_put(skb->nfct);
|
||||
skb->nfct = &nf_ct_untracked_get()->ct_general;
|
||||
skb->nfctinfo = IP_CT_NEW;
|
||||
nf_conntrack_get(skb->nfct);
|
||||
|
@ -1521,11 +1521,12 @@ static int ip_vs_dst_event(struct notifier_block *this, unsigned long event,
|
||||
{
|
||||
struct net_device *dev = ptr;
|
||||
struct net *net = dev_net(dev);
|
||||
struct netns_ipvs *ipvs = net_ipvs(net);
|
||||
struct ip_vs_service *svc;
|
||||
struct ip_vs_dest *dest;
|
||||
unsigned int idx;
|
||||
|
||||
if (event != NETDEV_UNREGISTER)
|
||||
if (event != NETDEV_UNREGISTER || !ipvs)
|
||||
return NOTIFY_DONE;
|
||||
IP_VS_DBG(3, "%s() dev=%s\n", __func__, dev->name);
|
||||
EnterFunction(2);
|
||||
@ -1551,7 +1552,7 @@ static int ip_vs_dst_event(struct notifier_block *this, unsigned long event,
|
||||
}
|
||||
}
|
||||
|
||||
list_for_each_entry(dest, &net_ipvs(net)->dest_trash, n_list) {
|
||||
list_for_each_entry(dest, &ipvs->dest_trash, n_list) {
|
||||
__ip_vs_dev_reset(dest, dev);
|
||||
}
|
||||
mutex_unlock(&__ip_vs_mutex);
|
||||
|
Loading…
Reference in New Issue
Block a user