mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 06:04:23 +08:00
ipv4: Make final arg to ip_route_output_flow to be boolean "can_sleep"
Since that is what the current vague "flags" argument means. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
abdf7e7239
commit
420d44daa7
@ -354,7 +354,7 @@ static struct rtable *find_route(struct t3cdev *dev, __be32 local_ip,
|
||||
}
|
||||
};
|
||||
|
||||
if (ip_route_output_flow(&init_net, &rt, &fl, NULL, 0))
|
||||
if (ip_route_output_flow(&init_net, &rt, &fl, NULL, false))
|
||||
return NULL;
|
||||
return rt;
|
||||
}
|
||||
|
@ -331,7 +331,7 @@ static struct rtable *find_route(struct c4iw_dev *dev, __be32 local_ip,
|
||||
}
|
||||
};
|
||||
|
||||
if (ip_route_output_flow(&init_net, &rt, &fl, NULL, 0))
|
||||
if (ip_route_output_flow(&init_net, &rt, &fl, NULL, false))
|
||||
return NULL;
|
||||
return rt;
|
||||
}
|
||||
|
@ -470,7 +470,7 @@ static struct rtable *find_route_ipv4(__be32 saddr, __be32 daddr,
|
||||
}
|
||||
};
|
||||
|
||||
if (ip_route_output_flow(&init_net, &rt, &fl, NULL, 0))
|
||||
if (ip_route_output_flow(&init_net, &rt, &fl, NULL, false))
|
||||
return NULL;
|
||||
|
||||
return rt;
|
||||
|
@ -120,7 +120,7 @@ extern void rt_cache_flush(struct net *net, int how);
|
||||
extern void rt_cache_flush_batch(struct net *net);
|
||||
extern int __ip_route_output_key(struct net *, struct rtable **, const struct flowi *flp);
|
||||
extern int ip_route_output_key(struct net *, struct rtable **, struct flowi *flp);
|
||||
extern int ip_route_output_flow(struct net *, struct rtable **rp, struct flowi *flp, struct sock *sk, int flags);
|
||||
extern int ip_route_output_flow(struct net *, struct rtable **rp, struct flowi *flp, struct sock *sk, bool can_sleep);
|
||||
|
||||
extern int ip_route_input_common(struct sk_buff *skb, __be32 dst, __be32 src,
|
||||
u8 tos, struct net_device *devin, bool noref);
|
||||
@ -196,7 +196,7 @@ static inline int ip_route_connect(struct rtable **rp, __be32 dst,
|
||||
*rp = NULL;
|
||||
}
|
||||
security_sk_classify_flow(sk, &fl);
|
||||
return ip_route_output_flow(net, rp, &fl, sk, can_sleep ? 1 : 0);
|
||||
return ip_route_output_flow(net, rp, &fl, sk, can_sleep);
|
||||
}
|
||||
|
||||
static inline int ip_route_newports(struct rtable **rp, u8 protocol,
|
||||
@ -220,7 +220,7 @@ static inline int ip_route_newports(struct rtable **rp, u8 protocol,
|
||||
ip_rt_put(*rp);
|
||||
*rp = NULL;
|
||||
security_sk_classify_flow(sk, &fl);
|
||||
return ip_route_output_flow(sock_net(sk), rp, &fl, sk, 0);
|
||||
return ip_route_output_flow(sock_net(sk), rp, &fl, sk, false);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -475,7 +475,7 @@ static struct dst_entry* dccp_v4_route_skb(struct net *net, struct sock *sk,
|
||||
};
|
||||
|
||||
security_skb_classify_flow(skb, &fl);
|
||||
if (ip_route_output_flow(net, &rt, &fl, sk, 0)) {
|
||||
if (ip_route_output_flow(net, &rt, &fl, sk, false)) {
|
||||
IP_INC_STATS_BH(net, IPSTATS_MIB_OUTNOROUTES);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -1174,7 +1174,7 @@ int inet_sk_rebuild_header(struct sock *sk)
|
||||
};
|
||||
|
||||
security_sk_classify_flow(sk, &fl);
|
||||
err = ip_route_output_flow(sock_net(sk), &rt, &fl, sk, 0);
|
||||
err = ip_route_output_flow(sock_net(sk), &rt, &fl, sk, false);
|
||||
}
|
||||
if (!err)
|
||||
sk_setup_caps(sk, &rt->dst);
|
||||
|
@ -369,7 +369,7 @@ struct dst_entry *inet_csk_route_req(struct sock *sk,
|
||||
struct net *net = sock_net(sk);
|
||||
|
||||
security_req_classify_flow(req, &fl);
|
||||
if (ip_route_output_flow(net, &rt, &fl, sk, 0))
|
||||
if (ip_route_output_flow(net, &rt, &fl, sk, false))
|
||||
goto no_route;
|
||||
if (opt && opt->is_strictroute && rt->rt_dst != rt->rt_gateway)
|
||||
goto route_err;
|
||||
|
@ -355,7 +355,7 @@ int ip_queue_xmit(struct sk_buff *skb)
|
||||
* itself out.
|
||||
*/
|
||||
security_sk_classify_flow(sk, &fl);
|
||||
if (ip_route_output_flow(sock_net(sk), &rt, &fl, sk, 0))
|
||||
if (ip_route_output_flow(sock_net(sk), &rt, &fl, sk, false))
|
||||
goto no_route;
|
||||
}
|
||||
sk_setup_caps(sk, &rt->dst);
|
||||
|
@ -563,7 +563,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
|
||||
}
|
||||
|
||||
security_sk_classify_flow(sk, &fl);
|
||||
err = ip_route_output_flow(sock_net(sk), &rt, &fl, sk, 1);
|
||||
err = ip_route_output_flow(sock_net(sk), &rt, &fl, sk, true);
|
||||
}
|
||||
if (err)
|
||||
goto done;
|
||||
|
@ -2720,7 +2720,7 @@ static int ipv4_dst_blackhole(struct net *net, struct rtable **rp, struct flowi
|
||||
}
|
||||
|
||||
int ip_route_output_flow(struct net *net, struct rtable **rp, struct flowi *flp,
|
||||
struct sock *sk, int flags)
|
||||
struct sock *sk, bool can_sleep)
|
||||
{
|
||||
int err;
|
||||
|
||||
@ -2733,7 +2733,7 @@ int ip_route_output_flow(struct net *net, struct rtable **rp, struct flowi *flp,
|
||||
if (!flp->fl4_dst)
|
||||
flp->fl4_dst = (*rp)->rt_dst;
|
||||
err = __xfrm_lookup(net, (struct dst_entry **)rp, flp, sk,
|
||||
flags ? XFRM_LOOKUP_WAIT : 0);
|
||||
can_sleep ? XFRM_LOOKUP_WAIT : 0);
|
||||
if (err == -EREMOTE)
|
||||
err = ipv4_dst_blackhole(net, rp, flp);
|
||||
|
||||
@ -2746,7 +2746,7 @@ EXPORT_SYMBOL_GPL(ip_route_output_flow);
|
||||
|
||||
int ip_route_output_key(struct net *net, struct rtable **rp, struct flowi *flp)
|
||||
{
|
||||
return ip_route_output_flow(net, rp, flp, NULL, 0);
|
||||
return ip_route_output_flow(net, rp, flp, NULL, false);
|
||||
}
|
||||
EXPORT_SYMBOL(ip_route_output_key);
|
||||
|
||||
|
@ -920,7 +920,7 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
|
||||
struct net *net = sock_net(sk);
|
||||
|
||||
security_sk_classify_flow(sk, &fl);
|
||||
err = ip_route_output_flow(net, &rt, &fl, sk, 1);
|
||||
err = ip_route_output_flow(net, &rt, &fl, sk, true);
|
||||
if (err) {
|
||||
if (err == -ENETUNREACH)
|
||||
IP_INC_STATS_BH(net, IPSTATS_MIB_OUTNOROUTES);
|
||||
|
@ -489,7 +489,7 @@ static int l2tp_ip_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *m
|
||||
* itself out.
|
||||
*/
|
||||
security_sk_classify_flow(sk, &fl);
|
||||
if (ip_route_output_flow(sock_net(sk), &rt, &fl, sk, 0))
|
||||
if (ip_route_output_flow(sock_net(sk), &rt, &fl, sk, false))
|
||||
goto no_route;
|
||||
}
|
||||
sk_setup_caps(sk, &rt->dst);
|
||||
|
Loading…
Reference in New Issue
Block a user