diff options
Diffstat (limited to 'drivers/net/wireguard')
| -rw-r--r-- | drivers/net/wireguard/socket.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wireguard/socket.c b/drivers/net/wireguard/socket.c index 0028ef17dc71..a0a72858c5a8 100644 --- a/drivers/net/wireguard/socket.c +++ b/drivers/net/wireguard/socket.c @@ -50,8 +50,7 @@ static int send4(struct wg_device *wg, struct sk_buff *skb, if (!rt) { security_sk_classify_flow(sock, flowi4_to_flowi_common(&fl)); - if (unlikely(!inet_confirm_addr(sock_net(sock), NULL, 0, - fl.saddr, RT_SCOPE_HOST))) { + if (unlikely(fl.saddr && !__ip_dev_find(sock_net(sock), fl.saddr, false))) { endpoint->src4.s_addr = 0; endpoint->src_if4 = 0; fl.saddr = 0; |
