]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
mlxsw: spectrum_router: Fix possible neighbour reference count leak
authorIdo Schimmel <idosch@nvidia.com>
Tue, 2 Dec 2025 17:44:11 +0000 (18:44 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 5 Dec 2025 01:53:48 +0000 (17:53 -0800)
commitb6b638bda240395dff49a87403b2e32493e56d2a
tree6b72284d9071e4f5a0e4d26b329cf146b1a67d4f
parentc4cdf7376271bce5714c06d79ec67759b18910eb
mlxsw: spectrum_router: Fix possible neighbour reference count leak

mlxsw_sp_router_schedule_work() takes a reference on a neighbour,
expecting a work item to release it later on. However, we might fail to
schedule the work item, in which case the neighbour reference count will
be leaked.

Fix by taking the reference just before scheduling the work item. Note
that mlxsw_sp_router_schedule_work() can receive a NULL neighbour
pointer, but neigh_clone() handles that correctly.

Spotted during code review, did not actually observe the reference count
leak.

Fixes: 151b89f6025a ("mlxsw: spectrum_router: Reuse work neighbor initialization in work scheduler")
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/ec2934ae4aca187a8d8c9329a08ce93cca411378.1764695650.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c