aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/dccp/ipv6.c2
-rw-r--r--net/decnet/dn_route.c3
-rw-r--r--net/ipv4/route.c3
-rw-r--r--net/ipv6/datagram.c2
-rw-r--r--net/ipv6/raw.c2
-rw-r--r--net/ipv6/tcp_ipv6.c2
-rw-r--r--net/ipv6/udp.c2
7 files changed, 9 insertions, 7 deletions
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c
index 87c98fb86fa8..a08e2cb11915 100644
--- a/net/dccp/ipv6.c
+++ b/net/dccp/ipv6.c
@@ -994,7 +994,7 @@ static int dccp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
994 if (final_p) 994 if (final_p)
995 ipv6_addr_copy(&fl.fl6_dst, final_p); 995 ipv6_addr_copy(&fl.fl6_dst, final_p);
996 996
997 err = __xfrm_lookup(&dst, &fl, sk, 1); 997 err = __xfrm_lookup(&dst, &fl, sk, XFRM_LOOKUP_WAIT);
998 if (err < 0) { 998 if (err < 0) {
999 if (err == -EREMOTE) 999 if (err == -EREMOTE)
1000 err = ip6_dst_blackhole(sk, &dst, &fl); 1000 err = ip6_dst_blackhole(sk, &dst, &fl);
diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c
index 5d742f1420d9..73a13075b7ee 100644
--- a/net/decnet/dn_route.c
+++ b/net/decnet/dn_route.c
@@ -1196,7 +1196,8 @@ int dn_route_output_sock(struct dst_entry **pprt, struct flowi *fl, struct sock
1196 1196
1197 err = __dn_route_output_key(pprt, fl, flags & MSG_TRYHARD); 1197 err = __dn_route_output_key(pprt, fl, flags & MSG_TRYHARD);
1198 if (err == 0 && fl->proto) { 1198 if (err == 0 && fl->proto) {
1199 err = xfrm_lookup(pprt, fl, sk, !(flags & MSG_DONTWAIT)); 1199 err = xfrm_lookup(pprt, fl, sk, (flags & MSG_DONTWAIT) ?
1200 XFRM_LOOKUP_WAIT : 0);
1200 } 1201 }
1201 return err; 1202 return err;
1202} 1203}
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index b576f8cd4019..1b70ffd12615 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -2536,7 +2536,8 @@ int ip_route_output_flow(struct rtable **rp, struct flowi *flp, struct sock *sk,
2536 flp->fl4_src = (*rp)->rt_src; 2536 flp->fl4_src = (*rp)->rt_src;
2537 if (!flp->fl4_dst) 2537 if (!flp->fl4_dst)
2538 flp->fl4_dst = (*rp)->rt_dst; 2538 flp->fl4_dst = (*rp)->rt_dst;
2539 err = __xfrm_lookup((struct dst_entry **)rp, flp, sk, flags); 2539 err = __xfrm_lookup((struct dst_entry **)rp, flp, sk,
2540 flags ? XFRM_LOOKUP_WAIT : 0);
2540 if (err == -EREMOTE) 2541 if (err == -EREMOTE)
2541 err = ipv4_dst_blackhole(rp, flp, sk); 2542 err = ipv4_dst_blackhole(rp, flp, sk);
2542 2543
diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c
index 5d4245ab4183..f49a06aa97de 100644
--- a/net/ipv6/datagram.c
+++ b/net/ipv6/datagram.c
@@ -177,7 +177,7 @@ ipv4_connected:
177 if (final_p) 177 if (final_p)
178 ipv6_addr_copy(&fl.fl6_dst, final_p); 178 ipv6_addr_copy(&fl.fl6_dst, final_p);
179 179
180 if ((err = __xfrm_lookup(&dst, &fl, sk, 1)) < 0) { 180 if ((err = __xfrm_lookup(&dst, &fl, sk, XFRM_LOOKUP_WAIT)) < 0) {
181 if (err == -EREMOTE) 181 if (err == -EREMOTE)
182 err = ip6_dst_blackhole(sk, &dst, &fl); 182 err = ip6_dst_blackhole(sk, &dst, &fl);
183 if (err < 0) 183 if (err < 0)
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 850b83e430bc..2663fd1323e4 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -871,7 +871,7 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk,
871 if (final_p) 871 if (final_p)
872 ipv6_addr_copy(&fl.fl6_dst, final_p); 872 ipv6_addr_copy(&fl.fl6_dst, final_p);
873 873
874 if ((err = __xfrm_lookup(&dst, &fl, sk, 1)) < 0) { 874 if ((err = __xfrm_lookup(&dst, &fl, sk, XFRM_LOOKUP_WAIT)) < 0) {
875 if (err == -EREMOTE) 875 if (err == -EREMOTE)
876 err = ip6_dst_blackhole(sk, &dst, &fl); 876 err = ip6_dst_blackhole(sk, &dst, &fl);
877 if (err < 0) 877 if (err < 0)
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index 9544beb6d1ca..0ef99864ef8a 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -265,7 +265,7 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr,
265 if (final_p) 265 if (final_p)
266 ipv6_addr_copy(&fl.fl6_dst, final_p); 266 ipv6_addr_copy(&fl.fl6_dst, final_p);
267 267
268 if ((err = __xfrm_lookup(&dst, &fl, sk, 1)) < 0) { 268 if ((err = __xfrm_lookup(&dst, &fl, sk, XFRM_LOOKUP_WAIT)) < 0) {
269 if (err == -EREMOTE) 269 if (err == -EREMOTE)
270 err = ip6_dst_blackhole(sk, &dst, &fl); 270 err = ip6_dst_blackhole(sk, &dst, &fl);
271 if (err < 0) 271 if (err < 0)
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index 1e3bd39f54ec..8cbdcc9602df 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -757,7 +757,7 @@ do_udp_sendmsg:
757 if (final_p) 757 if (final_p)
758 ipv6_addr_copy(&fl.fl6_dst, final_p); 758 ipv6_addr_copy(&fl.fl6_dst, final_p);
759 759
760 if ((err = __xfrm_lookup(&dst, &fl, sk, 1)) < 0) { 760 if ((err = __xfrm_lookup(&dst, &fl, sk, XFRM_LOOKUP_WAIT)) < 0) {
761 if (err == -EREMOTE) 761 if (err == -EREMOTE)
762 err = ip6_dst_blackhole(sk, &dst, &fl); 762 err = ip6_dst_blackhole(sk, &dst, &fl);
763 if (err < 0) 763 if (err < 0)