In the Linux kernel, the following vulnerability has been resolved: devlink: Release nested relation on devlink free 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.
https://git.kernel.org/stable/c/a9137286884703113b1c9e6403bd6d7d97b14754
https://git.kernel.org/stable/c/927f96861f939c0b517d13ed27bf4fabbfc1cfb3
https://git.kernel.org/stable/c/3522b21fd7e1863d0734537737bd59f1b90d0190
https://git.kernel.org/stable/c/11324d52b0c63f4f202b35793c6507a575e9a689