Description
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.
Affected products
- Linux / Linuxc137743bce02b18c1537d4681aa515f7b80bf0a8 – a9137286884703113b1c9e6403bd6d7d97b14754
- Linux / Linuxc137743bce02b18c1537d4681aa515f7b80bf0a8 – 927f96861f939c0b517d13ed27bf4fabbfc1cfb3
- Linux / Linuxc137743bce02b18c1537d4681aa515f7b80bf0a8 – 11324d52b0c63f4f202b35793c6507a575e9a689
- Linux / Linuxc137743bce02b18c1537d4681aa515f7b80bf0a8 – 3522b21fd7e1863d0734537737bd59f1b90d0190
- Linux / Linux6.7 – 6.7
- Linux / Linux0 – 6.7
- Linux / Linux6.12.94 – 6.12.*
- Linux / Linux6.18.36 – 6.18.*
- Linux / Linux7.0.13 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/a9137286884703113b1c9e6403bd6d7d97b14754
- MISChttps://git.kernel.org/stable/c/927f96861f939c0b517d13ed27bf4fabbfc1cfb3
- MISChttps://git.kernel.org/stable/c/11324d52b0c63f4f202b35793c6507a575e9a689
- MISChttps://git.kernel.org/stable/c/3522b21fd7e1863d0734537737bd59f1b90d0190