]> git.itanic.dy.fi Git - linux-stable/commit
icmp: prevent possible NULL dereferences from icmp_build_probe()
authorEric Dumazet <edumazet@google.com>
Sat, 20 Apr 2024 07:01:16 +0000 (07:01 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 22 Apr 2024 09:00:31 +0000 (10:00 +0100)
commitc58e88d49097bd12dfcfef4f075b43f5d5830941
treef0f7098b71cb530c21282731c88b63cb399b6676
parent0b8fe5bd73249dc20be2e88a12041f8920797b59
icmp: prevent possible NULL dereferences from icmp_build_probe()

First problem is a double call to __in_dev_get_rcu(), because
the second one could return NULL.

if (__in_dev_get_rcu(dev) && __in_dev_get_rcu(dev)->ifa_list)

Second problem is a read from dev->ip6_ptr with no NULL check:

if (!list_empty(&rcu_dereference(dev->ip6_ptr)->addr_list))

Use the correct RCU API to fix these.

v2: add missing include <net/addrconf.h>

Fixes: d329ea5bd884 ("icmp: add response to RFC 8335 PROBE messages")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Andreas Roeseler <andreas.a.roeseler@gmail.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/icmp.c