ping: Fix potentail NULL deref for /proc/net/icmp.
authorKuniyuki Iwashima <kuniyu@amazon.com>
Mon, 3 Apr 2023 19:49:59 +0000 (12:49 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 5 Apr 2023 01:56:58 +0000 (18:56 -0700)
commitab5fb73ffa01072b4d8031cc05801fa1cb653bee
treec2c86b24663336c6bb546d9fb3cbef8ef6d32c67
parent0a78cf7264d29abeca098eae0b188a10aabc8a32
ping: Fix potentail NULL deref for /proc/net/icmp.

After commit dbca1596bbb0 ("ping: convert to RCU lookups, get rid
of rwlock"), we use RCU for ping sockets, but we should use spinlock
for /proc/net/icmp to avoid a potential NULL deref mentioned in
the previous patch.

Let's go back to using spinlock there.

Note we can convert ping sockets to use hlist instead of hlist_nulls
because we do not use SLAB_TYPESAFE_BY_RCU for ping sockets.

Fixes: dbca1596bbb0 ("ping: convert to RCU lookups, get rid of rwlock")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv4/ping.c