From: Eric Dumazet Date: Wed, 13 Apr 2022 20:56:53 +0000 (-0700) Subject: ipv6: fix NULL deref in ip6_rcv_core() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0339d25a2807d913f5645b8d5e485640915f9702;p=linux.git ipv6: fix NULL deref in ip6_rcv_core() idev can be NULL, as the surrounding code suggests. Fixes: 4daf841a2ef3 ("net: ipv6: add skb drop reasons to ip6_rcv_core()") Signed-off-by: Eric Dumazet Cc: Menglong Dong Cc: Jiang Biao Cc: Hao Peng Link: https://lore.kernel.org/r/20220413205653.1178458-1-eric.dumazet@gmail.com Signed-off-by: Jakub Kicinski --- diff --git a/net/ipv6/ip6_input.c b/net/ipv6/ip6_input.c index 126ae3aa67e1d..0322cc86b84ea 100644 --- a/net/ipv6/ip6_input.c +++ b/net/ipv6/ip6_input.c @@ -166,7 +166,7 @@ static struct sk_buff *ip6_rcv_core(struct sk_buff *skb, struct net_device *dev, if ((skb = skb_share_check(skb, GFP_ATOMIC)) == NULL || !idev || unlikely(idev->cnf.disable_ipv6)) { __IP6_INC_STATS(net, idev, IPSTATS_MIB_INDISCARDS); - if (unlikely(idev->cnf.disable_ipv6)) + if (idev && unlikely(idev->cnf.disable_ipv6)) SKB_DR_SET(reason, IPV6DISABLED); goto drop; }