Commit b99f0152e5f96dde31d2b9060b4f1029abc11078
Committed by
David S. Miller
1 parent
44d3c299dc
Exists in
master
and in
7 other branches
[IPIP]: Use proper net in (mostly) routing calls.
There are some ip_route_output_key() calls in there that require a proper net so give one to them. Besides - give a proper net to a single __get_dev_by_index call in ipip_tunnel_bind_dev(). Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 5 additions and 5 deletions Side-by-side Diff
net/ipv4/ipip.c
... | ... | @@ -415,7 +415,7 @@ |
415 | 415 | fl.fl4_daddr = eiph->saddr; |
416 | 416 | fl.fl4_tos = RT_TOS(eiph->tos); |
417 | 417 | fl.proto = IPPROTO_IPIP; |
418 | - if (ip_route_output_key(&init_net, &rt, &key)) { | |
418 | + if (ip_route_output_key(dev_net(skb->dev), &rt, &key)) { | |
419 | 419 | kfree_skb(skb2); |
420 | 420 | return 0; |
421 | 421 | } |
... | ... | @@ -428,7 +428,7 @@ |
428 | 428 | fl.fl4_daddr = eiph->daddr; |
429 | 429 | fl.fl4_src = eiph->saddr; |
430 | 430 | fl.fl4_tos = eiph->tos; |
431 | - if (ip_route_output_key(&init_net, &rt, &fl) || | |
431 | + if (ip_route_output_key(dev_net(skb->dev), &rt, &fl) || | |
432 | 432 | rt->u.dst.dev->type != ARPHRD_TUNNEL) { |
433 | 433 | ip_rt_put(rt); |
434 | 434 | kfree_skb(skb2); |
... | ... | @@ -558,7 +558,7 @@ |
558 | 558 | .saddr = tiph->saddr, |
559 | 559 | .tos = RT_TOS(tos) } }, |
560 | 560 | .proto = IPPROTO_IPIP }; |
561 | - if (ip_route_output_key(&init_net, &rt, &fl)) { | |
561 | + if (ip_route_output_key(dev_net(dev), &rt, &fl)) { | |
562 | 562 | tunnel->stat.tx_carrier_errors++; |
563 | 563 | goto tx_error_icmp; |
564 | 564 | } |
... | ... | @@ -679,7 +679,7 @@ |
679 | 679 | .tos = RT_TOS(iph->tos) } }, |
680 | 680 | .proto = IPPROTO_IPIP }; |
681 | 681 | struct rtable *rt; |
682 | - if (!ip_route_output_key(&init_net, &rt, &fl)) { | |
682 | + if (!ip_route_output_key(dev_net(dev), &rt, &fl)) { | |
683 | 683 | tdev = rt->u.dst.dev; |
684 | 684 | ip_rt_put(rt); |
685 | 685 | } |
... | ... | @@ -687,7 +687,7 @@ |
687 | 687 | } |
688 | 688 | |
689 | 689 | if (!tdev && tunnel->parms.link) |
690 | - tdev = __dev_get_by_index(&init_net, tunnel->parms.link); | |
690 | + tdev = __dev_get_by_index(dev_net(dev), tunnel->parms.link); | |
691 | 691 | |
692 | 692 | if (tdev) { |
693 | 693 | dev->hard_header_len = tdev->hard_header_len + sizeof(struct iphdr); |