diff options
-rw-r--r-- | drivers/infiniband/hw/cxgb3/iwch_cm.c | 2 | ||||
-rw-r--r-- | include/net/route.h | 6 | ||||
-rw-r--r-- | net/dccp/ipv4.c | 2 | ||||
-rw-r--r-- | net/ipv4/af_inet.c | 2 | ||||
-rw-r--r-- | net/ipv4/inet_connection_sock.c | 2 | ||||
-rw-r--r-- | net/ipv4/ip_output.c | 2 | ||||
-rw-r--r-- | net/ipv4/raw.c | 2 | ||||
-rw-r--r-- | net/ipv4/route.c | 7 | ||||
-rw-r--r-- | net/ipv4/udp.c | 2 |
9 files changed, 14 insertions, 13 deletions
diff --git a/drivers/infiniband/hw/cxgb3/iwch_cm.c b/drivers/infiniband/hw/cxgb3/iwch_cm.c index f8cb0fe748c..e9a08fa3dff 100644 --- a/drivers/infiniband/hw/cxgb3/iwch_cm.c +++ b/drivers/infiniband/hw/cxgb3/iwch_cm.c | |||
@@ -332,7 +332,7 @@ static struct rtable *find_route(struct t3cdev *dev, __be32 local_ip, | |||
332 | } | 332 | } |
333 | }; | 333 | }; |
334 | 334 | ||
335 | if (ip_route_output_flow(&rt, &fl, NULL, 0)) | 335 | if (ip_route_output_flow(&init_net, &rt, &fl, NULL, 0)) |
336 | return NULL; | 336 | return NULL; |
337 | return rt; | 337 | return rt; |
338 | } | 338 | } |
diff --git a/include/net/route.h b/include/net/route.h index 3e3b14e060f..6b970d7d07e 100644 --- a/include/net/route.h +++ b/include/net/route.h | |||
@@ -112,7 +112,7 @@ extern void ip_rt_redirect(__be32 old_gw, __be32 dst, __be32 new_gw, | |||
112 | extern void rt_cache_flush(int how); | 112 | extern void rt_cache_flush(int how); |
113 | extern int __ip_route_output_key(struct net *, struct rtable **, const struct flowi *flp); | 113 | extern int __ip_route_output_key(struct net *, struct rtable **, const struct flowi *flp); |
114 | extern int ip_route_output_key(struct rtable **, struct flowi *flp); | 114 | extern int ip_route_output_key(struct rtable **, struct flowi *flp); |
115 | extern int ip_route_output_flow(struct rtable **rp, struct flowi *flp, struct sock *sk, int flags); | 115 | extern int ip_route_output_flow(struct net *, struct rtable **rp, struct flowi *flp, struct sock *sk, int flags); |
116 | extern int ip_route_input(struct sk_buff*, __be32 dst, __be32 src, u8 tos, struct net_device *devin); | 116 | extern int ip_route_input(struct sk_buff*, __be32 dst, __be32 src, u8 tos, struct net_device *devin); |
117 | extern unsigned short ip_rt_frag_needed(struct iphdr *iph, unsigned short new_mtu); | 117 | extern unsigned short ip_rt_frag_needed(struct iphdr *iph, unsigned short new_mtu); |
118 | extern void ip_rt_send_redirect(struct sk_buff *skb); | 118 | extern void ip_rt_send_redirect(struct sk_buff *skb); |
@@ -167,7 +167,7 @@ static inline int ip_route_connect(struct rtable **rp, __be32 dst, | |||
167 | *rp = NULL; | 167 | *rp = NULL; |
168 | } | 168 | } |
169 | security_sk_classify_flow(sk, &fl); | 169 | security_sk_classify_flow(sk, &fl); |
170 | return ip_route_output_flow(rp, &fl, sk, flags); | 170 | return ip_route_output_flow(&init_net, rp, &fl, sk, flags); |
171 | } | 171 | } |
172 | 172 | ||
173 | static inline int ip_route_newports(struct rtable **rp, u8 protocol, | 173 | static inline int ip_route_newports(struct rtable **rp, u8 protocol, |
@@ -184,7 +184,7 @@ static inline int ip_route_newports(struct rtable **rp, u8 protocol, | |||
184 | ip_rt_put(*rp); | 184 | ip_rt_put(*rp); |
185 | *rp = NULL; | 185 | *rp = NULL; |
186 | security_sk_classify_flow(sk, &fl); | 186 | security_sk_classify_flow(sk, &fl); |
187 | return ip_route_output_flow(rp, &fl, sk, 0); | 187 | return ip_route_output_flow(&init_net, rp, &fl, sk, 0); |
188 | } | 188 | } |
189 | return 0; | 189 | return 0; |
190 | } | 190 | } |
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c index f450df2fc86..9e38b0d6195 100644 --- a/net/dccp/ipv4.c +++ b/net/dccp/ipv4.c | |||
@@ -469,7 +469,7 @@ static struct dst_entry* dccp_v4_route_skb(struct sock *sk, | |||
469 | }; | 469 | }; |
470 | 470 | ||
471 | security_skb_classify_flow(skb, &fl); | 471 | security_skb_classify_flow(skb, &fl); |
472 | if (ip_route_output_flow(&rt, &fl, sk, 0)) { | 472 | if (ip_route_output_flow(&init_net, &rt, &fl, sk, 0)) { |
473 | IP_INC_STATS_BH(IPSTATS_MIB_OUTNOROUTES); | 473 | IP_INC_STATS_BH(IPSTATS_MIB_OUTNOROUTES); |
474 | return NULL; | 474 | return NULL; |
475 | } | 475 | } |
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index bcf8c8a4a3a..09ca5293d08 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c | |||
@@ -1113,7 +1113,7 @@ int inet_sk_rebuild_header(struct sock *sk) | |||
1113 | }; | 1113 | }; |
1114 | 1114 | ||
1115 | security_sk_classify_flow(sk, &fl); | 1115 | security_sk_classify_flow(sk, &fl); |
1116 | err = ip_route_output_flow(&rt, &fl, sk, 0); | 1116 | err = ip_route_output_flow(&init_net, &rt, &fl, sk, 0); |
1117 | } | 1117 | } |
1118 | if (!err) | 1118 | if (!err) |
1119 | sk_setup_caps(sk, &rt->u.dst); | 1119 | sk_setup_caps(sk, &rt->u.dst); |
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index 1c2a32f6bfc..7801cceb2d1 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c | |||
@@ -333,7 +333,7 @@ struct dst_entry* inet_csk_route_req(struct sock *sk, | |||
333 | .dport = ireq->rmt_port } } }; | 333 | .dport = ireq->rmt_port } } }; |
334 | 334 | ||
335 | security_req_classify_flow(req, &fl); | 335 | security_req_classify_flow(req, &fl); |
336 | if (ip_route_output_flow(&rt, &fl, sk, 0)) { | 336 | if (ip_route_output_flow(&init_net, &rt, &fl, sk, 0)) { |
337 | IP_INC_STATS_BH(IPSTATS_MIB_OUTNOROUTES); | 337 | IP_INC_STATS_BH(IPSTATS_MIB_OUTNOROUTES); |
338 | return NULL; | 338 | return NULL; |
339 | } | 339 | } |
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 8950d18001f..6d78e1d6b78 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -350,7 +350,7 @@ int ip_queue_xmit(struct sk_buff *skb, int ipfragok) | |||
350 | * itself out. | 350 | * itself out. |
351 | */ | 351 | */ |
352 | security_sk_classify_flow(sk, &fl); | 352 | security_sk_classify_flow(sk, &fl); |
353 | if (ip_route_output_flow(&rt, &fl, sk, 0)) | 353 | if (ip_route_output_flow(&init_net, &rt, &fl, sk, 0)) |
354 | goto no_route; | 354 | goto no_route; |
355 | } | 355 | } |
356 | sk_setup_caps(sk, &rt->u.dst); | 356 | sk_setup_caps(sk, &rt->u.dst); |
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index 91a52184351..85c08696abb 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c | |||
@@ -558,7 +558,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | |||
558 | } | 558 | } |
559 | 559 | ||
560 | security_sk_classify_flow(sk, &fl); | 560 | security_sk_classify_flow(sk, &fl); |
561 | err = ip_route_output_flow(&rt, &fl, sk, 1); | 561 | err = ip_route_output_flow(&init_net, &rt, &fl, sk, 1); |
562 | } | 562 | } |
563 | if (err) | 563 | if (err) |
564 | goto done; | 564 | goto done; |
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 971ab0253a0..c75fc20b07e 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c | |||
@@ -2533,11 +2533,12 @@ static int ipv4_dst_blackhole(struct rtable **rp, struct flowi *flp, struct sock | |||
2533 | return (rt ? 0 : -ENOMEM); | 2533 | return (rt ? 0 : -ENOMEM); |
2534 | } | 2534 | } |
2535 | 2535 | ||
2536 | int ip_route_output_flow(struct rtable **rp, struct flowi *flp, struct sock *sk, int flags) | 2536 | int ip_route_output_flow(struct net *net, struct rtable **rp, struct flowi *flp, |
2537 | struct sock *sk, int flags) | ||
2537 | { | 2538 | { |
2538 | int err; | 2539 | int err; |
2539 | 2540 | ||
2540 | if ((err = __ip_route_output_key(&init_net, rp, flp)) != 0) | 2541 | if ((err = __ip_route_output_key(net, rp, flp)) != 0) |
2541 | return err; | 2542 | return err; |
2542 | 2543 | ||
2543 | if (flp->proto) { | 2544 | if (flp->proto) { |
@@ -2560,7 +2561,7 @@ EXPORT_SYMBOL_GPL(ip_route_output_flow); | |||
2560 | 2561 | ||
2561 | int ip_route_output_key(struct rtable **rp, struct flowi *flp) | 2562 | int ip_route_output_key(struct rtable **rp, struct flowi *flp) |
2562 | { | 2563 | { |
2563 | return ip_route_output_flow(rp, flp, NULL, 0); | 2564 | return ip_route_output_flow(&init_net, rp, flp, NULL, 0); |
2564 | } | 2565 | } |
2565 | 2566 | ||
2566 | static int rt_fill_info(struct sk_buff *skb, u32 pid, u32 seq, int event, | 2567 | static int rt_fill_info(struct sk_buff *skb, u32 pid, u32 seq, int event, |
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index ecd9d91b30c..2fb8d731026 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c | |||
@@ -660,7 +660,7 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | |||
660 | { .sport = inet->sport, | 660 | { .sport = inet->sport, |
661 | .dport = dport } } }; | 661 | .dport = dport } } }; |
662 | security_sk_classify_flow(sk, &fl); | 662 | security_sk_classify_flow(sk, &fl); |
663 | err = ip_route_output_flow(&rt, &fl, sk, 1); | 663 | err = ip_route_output_flow(&init_net, &rt, &fl, sk, 1); |
664 | if (err) { | 664 | if (err) { |
665 | if (err == -ENETUNREACH) | 665 | if (err == -ENETUNREACH) |
666 | IP_INC_STATS_BH(IPSTATS_MIB_OUTNOROUTES); | 666 | IP_INC_STATS_BH(IPSTATS_MIB_OUTNOROUTES); |