devlink: Fix memleak in health diagnose callback
The callback devlink_nl_cmd_health_reporter_diagnose_doit() miss
devlink_fmsg_free(), which leads to memory leak.
Fix it by adding devlink_fmsg_free().
Fixes: e994a75fb7
("devlink: remove reporter reference counting")
Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/r/1675698976-45993-1-git-send-email-moshe@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Родитель
f817554786
Коммит
cb6b2e11a4
net/devlink
|
@ -6626,18 +6626,22 @@ static int devlink_nl_cmd_health_reporter_diagnose_doit(struct sk_buff *skb,
|
|||
|
||||
err = devlink_fmsg_obj_nest_start(fmsg);
|
||||
if (err)
|
||||
return err;
|
||||
goto out;
|
||||
|
||||
err = reporter->ops->diagnose(reporter, fmsg, info->extack);
|
||||
if (err)
|
||||
return err;
|
||||
goto out;
|
||||
|
||||
err = devlink_fmsg_obj_nest_end(fmsg);
|
||||
if (err)
|
||||
return err;
|
||||
goto out;
|
||||
|
||||
return devlink_fmsg_snd(fmsg, info,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE, 0);
|
||||
err = devlink_fmsg_snd(fmsg, info,
|
||||
DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE, 0);
|
||||
|
||||
out:
|
||||
devlink_fmsg_free(fmsg);
|
||||
return err;
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
Загрузка…
Ссылка в новой задаче