Re: [PATCH net] devlink: Release nested relation on devlink free

From: Jiri Pirko

Date: Fri May 29 2026 - 05:50:34 EST


Thu, May 28, 2026 at 09:14:10PM +0200, mbloch@xxxxxxxxxx wrote:
>devlink relation state is normally released from devl_unregister(), which
>calls devlink_rel_put(). This misses devlink instances that get a nested
>relation before registration and then fail probe before devl_register() is
>reached.
>
>That flow can happen for SFs. The child devlink gets linked to its
>parent before registration, then a later probe error calls devlink_free()
>directly. Since the instance was never registered, devl_unregister() is not
>called and devlink->rel is leaked.
>
>Release any pending relation from devlink_free() as well. The registered
>path is unchanged because devl_unregister() already clears devlink->rel
>before devlink_free() runs.
>
>Fixes: c137743bce02 ("devlink: introduce object and nested devlink relationship infra")
>Signed-off-by: Mark Bloch <mbloch@xxxxxxxxxx>

Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxx>