diff --git a/drivers/net/bareudp.c b/drivers/net/bareudp.c index 4acca20084d3..2b03967c140c 100644 --- a/drivers/net/bareudp.c +++ b/drivers/net/bareudp.c @@ -513,6 +513,9 @@ static int bareudp_fill_metadata_dst(struct net_device *dev, struct in6_addr saddr; struct socket *sock = rcu_dereference(bareudp->sock); + if (!sock) + return -ESHUTDOWN; + dst = udp_tunnel6_dst_lookup(skb, dev, bareudp->net, sock, &saddr, info, IPPROTO_UDP, use_cache);