]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net/ncsi: Disable the ncsi work before freeing the associated structure
authorEddie James <eajames@linux.ibm.com>
Wed, 25 Sep 2024 15:55:23 +0000 (10:55 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Oct 2024 10:00:09 +0000 (12:00 +0200)
[ Upstream commit a0ffa68c70b367358b2672cdab6fa5bc4c40de2c ]

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>
Link: https://patch.msgid.link/20240925155523.1017097-1-eajames@linux.ibm.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/ncsi/ncsi-manage.c

index 5ecf611c882009d647909e52a686286e090ba6c3..5cf55bde366d1813865ac5da17d232b5eadb2a3e 100644 (file)
@@ -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);