diff options
| author | Or Har-Toov <ohartoov@nvidia.com> | 2026-07-29 11:06:00 +0300 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-07-31 18:23:44 -0700 |
| commit | 1c4dac9bf1d2ac31da63b794bdec697777cbd0fd (patch) | |
| tree | 147ddf880571a7ef9dabca419bee7d58f813603f | |
| parent | f307a7dc32097c11413178fca437a10d20890bc2 (diff) | |
| download | linux-next-1c4dac9bf1d2ac31da63b794bdec697777cbd0fd.tar.gz linux-next-1c4dac9bf1d2ac31da63b794bdec697777cbd0fd.zip | |
devlink: fix net namespace reference leak in reload
devlink_nl_reload_doit() calls devlink_netns_get(), which returns a net
with a held reference. When the requested namespace differs from the
current one and the reload action is not DRIVER_REINIT, the function
returns -EOPNOTSUPP without releasing the reference. Add the missing
put_net() on this error path.
Fixes: 2edd92570441 ("devlink: don't allow to change net namespace for FW_ACTIVATE reload action")
Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Antoine Tenart <atenart@kernel.org>
Link: https://patch.msgid.link/20260729080600.2427721-1-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
| -rw-r--r-- | net/devlink/dev.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/devlink/dev.c b/net/devlink/dev.c index 57b2b8f03543..fd5633fa88ec 100644 --- a/net/devlink/dev.c +++ b/net/devlink/dev.c @@ -578,6 +578,7 @@ int devlink_nl_reload_doit(struct sk_buff *skb, struct genl_info *info) action != DEVLINK_RELOAD_ACTION_DRIVER_REINIT) { NL_SET_ERR_MSG_MOD(info->extack, "Changing namespace is only supported for reinit action"); + put_net(dest_net); return -EOPNOTSUPP; } } |
