mld: convert from timer to delayed work
authorTaehee Yoo <ap420073@gmail.com>
Thu, 25 Mar 2021 16:16:51 +0000 (16:16 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Mar 2021 22:14:55 +0000 (15:14 -0700)
commit2d9a93b4902be6a5504b5941dd15e9cd776aadca
treef42268e932b00dc8c90f929cbbd7ae03f82824fc
parent6e2751433490465ad9d82ea751149586ed9d637b
mld: convert from timer to delayed work

mcast.c has several timers for delaying works.
Timer's expire handler is working under atomic context so it can't use
sleepable things such as GFP_KERNEL, mutex, etc.
In order to use sleepable APIs, it converts from timers to delayed work.
But there are some critical sections, which is used by both process
and BH context. So that it still uses spin_lock_bh() and rwlock.

Suggested-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/if_inet6.h
net/ipv6/mcast.c