History

net/ncsi: Disable the ncsi work before freeing the associated structure

The work function can run after the ncsi device is freed, resulting in use-after-free bugs or kernel panic.

Eddie James committed 2 years ago

Commit a0ffa681 parent fa7dfea1 file · +2 −0Browse files

Unified · Split

net/ncsi/ncsi-manage.c+2−0
@@ -1954,6 +1954,8 @@ void ncsi_unregister_dev(struct ncsi_dev *nd) · 1953 unmodified lines
1954 list_del_rcu(&ndp->node);1954 list_del_rcu(&ndp->node);
1955 spin_unlock_irqrestore(&ncsi_dev_lock, flags);1955 spin_unlock_irqrestore(&ncsi_dev_lock, flags);
1956 1956
1957 disable_work_sync(&ndp->work);
1958
1957 kfree(ndp);1959 kfree(ndp);
1958}1960}
1959EXPORT_SYMBOL_GPL(ncsi_unregister_dev);1961EXPORT_SYMBOL_GPL(ncsi_unregister_dev);