[IPV4/IPV6]: Always wait for IPSEC SA resolution in socket contexts.
Do this even for non-blocking sockets. This avoids the silly -EAGAIN that applications can see now, even for non-blocking sockets in some cases (f.e. connect()). With help from Venkat Tekkirala. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@ -146,7 +146,8 @@ static inline char rt_tos2priority(u8 tos)
|
||||
|
||||
static inline int ip_route_connect(struct rtable **rp, __be32 dst,
|
||||
__be32 src, u32 tos, int oif, u8 protocol,
|
||||
__be16 sport, __be16 dport, struct sock *sk)
|
||||
__be16 sport, __be16 dport, struct sock *sk,
|
||||
int flags)
|
||||
{
|
||||
struct flowi fl = { .oif = oif,
|
||||
.nl_u = { .ip4_u = { .daddr = dst,
|
||||
@ -168,7 +169,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(rp, &fl, sk, 0);
|
||||
return ip_route_output_flow(rp, &fl, sk, flags);
|
||||
}
|
||||
|
||||
static inline int ip_route_newports(struct rtable **rp, u8 protocol,
|
||||
|
Reference in New Issue
Block a user