Message ID | 20211116160923.25258-1-ap420073@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | b0024a04e48837b6556a080ff37ecd8351632596 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] amt: cancel delayed_work synchronously in amt_fini() | expand |
Hello: This patch was applied to netdev/net.git (master) by Jakub Kicinski <kuba@kernel.org>: On Tue, 16 Nov 2021 16:09:23 +0000 you wrote: > When the amt module is being removed, it calls cancel_delayed_work() > to cancel pending delayed_work. But this function doesn't wait for > canceling delayed_work. > So, workers can be still doing after module delete. > > In order to avoid this, cancel_delayed_work_sync() should be used instead. > > [...] Here is the summary with links: - [net] amt: cancel delayed_work synchronously in amt_fini() https://git.kernel.org/netdev/net/c/b0024a04e488 You are awesome, thank you!
diff --git a/drivers/net/amt.c b/drivers/net/amt.c index 47a04c330885..b732ee9a50ef 100644 --- a/drivers/net/amt.c +++ b/drivers/net/amt.c @@ -3286,7 +3286,7 @@ static void __exit amt_fini(void) { rtnl_link_unregister(&amt_link_ops); unregister_netdevice_notifier(&amt_notifier_block); - cancel_delayed_work(&source_gc_wq); + cancel_delayed_work_sync(&source_gc_wq); __amt_source_gc_work(); destroy_workqueue(amt_wq); }
When the amt module is being removed, it calls cancel_delayed_work() to cancel pending delayed_work. But this function doesn't wait for canceling delayed_work. So, workers can be still doing after module delete. In order to avoid this, cancel_delayed_work_sync() should be used instead. Suggested-by: Jakub Kicinski <kuba@kernel.org> Fixes: bc54e49c140b ("amt: add multicast(IGMP) report message handler") Signed-off-by: Taehee Yoo <ap420073@gmail.com> --- drivers/net/amt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)