mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
net: sparx5: unregister blocking notifier on init failure
sparx5_register_notifier_blocks() registers the switchdev blocking
notifier before allocating the ordered workqueue. If the workqueue
allocation fails, the error path unregisters the switchdev and netdevice
notifiers, but leaves the blocking notifier registered.
Add a separate error label for the workqueue allocation failure path and
unregister the switchdev blocking notifier there.
Fixes: d6fce51419 ("net: sparx5: add switching support")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <haoxiang_li2024@163.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260623115714.2192074-1-haoxiang_li2024@163.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
106f6b1dfa
commit
483be61b4a
|
|
@ -765,11 +765,13 @@ int sparx5_register_notifier_blocks(struct sparx5 *s5)
|
|||
sparx5_owq = alloc_ordered_workqueue("sparx5_order", 0);
|
||||
if (!sparx5_owq) {
|
||||
err = -ENOMEM;
|
||||
goto err_switchdev_blocking_nb;
|
||||
goto err_alloc_workqueue;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
err_alloc_workqueue:
|
||||
unregister_switchdev_blocking_notifier(&s5->switchdev_blocking_nb);
|
||||
err_switchdev_blocking_nb:
|
||||
unregister_switchdev_notifier(&s5->switchdev_nb);
|
||||
err_switchdev_nb:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user