aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/route.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/route.c')
-rw-r--r--net/ipv4/route.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 1ac3ecaf36e8..78462658fccb 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -2720,7 +2720,7 @@ static int ipv4_dst_blackhole(struct net *net, struct rtable **rp, struct flowi
2720} 2720}
2721 2721
2722int ip_route_output_flow(struct net *net, struct rtable **rp, struct flowi *flp, 2722int ip_route_output_flow(struct net *net, struct rtable **rp, struct flowi *flp,
2723 struct sock *sk, bool can_sleep) 2723 struct sock *sk)
2724{ 2724{
2725 int err; 2725 int err;
2726 2726
@@ -2733,7 +2733,8 @@ int ip_route_output_flow(struct net *net, struct rtable **rp, struct flowi *flp,
2733 if (!flp->fl4_dst) 2733 if (!flp->fl4_dst)
2734 flp->fl4_dst = (*rp)->rt_dst; 2734 flp->fl4_dst = (*rp)->rt_dst;
2735 err = __xfrm_lookup(net, (struct dst_entry **)rp, flp, sk, 2735 err = __xfrm_lookup(net, (struct dst_entry **)rp, flp, sk,
2736 can_sleep ? XFRM_LOOKUP_WAIT : 0); 2736 ((flp->flags & FLOWI_FLAG_CAN_SLEEP) ?
2737 XFRM_LOOKUP_WAIT : 0));
2737 if (err == -EREMOTE) 2738 if (err == -EREMOTE)
2738 err = ipv4_dst_blackhole(net, rp, flp); 2739 err = ipv4_dst_blackhole(net, rp, flp);
2739 2740
@@ -2746,7 +2747,7 @@ EXPORT_SYMBOL_GPL(ip_route_output_flow);
2746 2747
2747int ip_route_output_key(struct net *net, struct rtable **rp, struct flowi *flp) 2748int ip_route_output_key(struct net *net, struct rtable **rp, struct flowi *flp)
2748{ 2749{
2749 return ip_route_output_flow(net, rp, flp, NULL, false); 2750 return ip_route_output_flow(net, rp, flp, NULL);
2750} 2751}
2751EXPORT_SYMBOL(ip_route_output_key); 2752EXPORT_SYMBOL(ip_route_output_key);
2752 2753