Message ID | 20240925155523.1017097-1-eajames@linux.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Commit | a0ffa68c70b367358b2672cdab6fa5bc4c40de2c |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v2] net/ncsi: Disable the ncsi work before freeing the associated structure | expand |
Hello: This patch was applied to netdev/net.git (main) by Paolo Abeni <pabeni@redhat.com>: On Wed, 25 Sep 2024 10:55:23 -0500 you wrote: > The work function can run after the ncsi device is freed, resulting > in use-after-free bugs or kernel panic. > > Fixes: 2d283bdd079c ("net/ncsi: Resource management") > Signed-off-by: Eddie James <eajames@linux.ibm.com> > --- > Changes since v1: > - Use disable_work_sync instead of cancel_work_sync > > [...] Here is the summary with links: - [v2] net/ncsi: Disable the ncsi work before freeing the associated structure https://git.kernel.org/netdev/net/c/a0ffa68c70b3 You are awesome, thank you!
diff --git a/net/ncsi/ncsi-manage.c b/net/ncsi/ncsi-manage.c index 5ecf611c8820..5cf55bde366d 100644 --- a/net/ncsi/ncsi-manage.c +++ b/net/ncsi/ncsi-manage.c @@ -1954,6 +1954,8 @@ void ncsi_unregister_dev(struct ncsi_dev *nd) list_del_rcu(&ndp->node); spin_unlock_irqrestore(&ncsi_dev_lock, flags); + disable_work_sync(&ndp->work); + kfree(ndp); } EXPORT_SYMBOL_GPL(ncsi_unregister_dev);
The work function can run after the ncsi device is freed, resulting in use-after-free bugs or kernel panic. Fixes: 2d283bdd079c ("net/ncsi: Resource management") Signed-off-by: Eddie James <eajames@linux.ibm.com> --- Changes since v1: - Use disable_work_sync instead of cancel_work_sync net/ncsi/ncsi-manage.c | 2 ++ 1 file changed, 2 insertions(+)