Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: net: ixp4xx_hss: fix duplicate HDLC netdev allocation ixp4xx_hss_probe() allocates two HDLC netdevs. The first one is stored in ndev, initialized, and registered with register_hdlc_device(). The second one is stored in port->netdev and later used by the remove path for unregister_hdlc_device() and free_netdev(). This means that the registered netdev is not the same object that is unregistered and freed on remove. It also leaks the first allocation if the second alloc_hdlcdev() call fails, and the first allocation is not checked before ndev is used. Older code allocated the HDLC netdev only once and stored the same object in both the local variable and port->netdev. The buggy conversion split this into two alloc_hdlcdev() calls. A later rename changed the local variable name to ndev, but the underlying mismatch remained. Fix this by allocating the HDLC netdev only once and assigning the same object to port->netdev.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 99ebe65eb9c0ada015931d239d9f2d1dc8897fee before 77d925b948ee594a79afe66f85bb94b67940140b; affected 99ebe65eb9c0ada015931d239d9f2d1dc8897fee before 8f4c3c384092becbf4835a3f8ed8a3df1f544578; affected 99ebe65eb9c0ada015931d239d9f2d1dc8897fee before fd0b939ebd1eee29945a539c5ed65c35dddac8d6; affected 99ebe65eb9c0ada015931d239d9f2d1dc8897fee before ffba16e6f55948d94b7f16aa113d587c1c4c0643; affected 99ebe65eb9c0ada015931d239d9f2d1dc8897fee before 3f85fcd520aa703824b1958f35169925ddae2558; affected 99ebe65eb9c0ada015931d239d9f2d1dc8897fee before 91850f582783098415a334f8bd0a84c87ff15a8c; affected 99ebe65eb9c0ada015931d239d9f2d1dc8897fee before db818b0e8af7bac16860116a19c341a63d6677b4 |
| Linux / Linux | affected 5.14; unaffected 0 before 5.14; unaffected 5.15.217 through 5.15.*; unaffected 6.1.178 through 6.1.*; unaffected 6.6.145 through 6.6.*; unaffected 6.12.97 through 6.12.*; unaffected 6.18.40 through 6.18.*; unaffected 7.1.5 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/77d925b948ee594a79afe66f85bb94b67940140b
- https://git.kernel.org/stable/c/8f4c3c384092becbf4835a3f8ed8a3df1f544578
- https://git.kernel.org/stable/c/fd0b939ebd1eee29945a539c5ed65c35dddac8d6
- https://git.kernel.org/stable/c/ffba16e6f55948d94b7f16aa113d587c1c4c0643
- https://git.kernel.org/stable/c/3f85fcd520aa703824b1958f35169925ddae2558
- https://git.kernel.org/stable/c/91850f582783098415a334f8bd0a84c87ff15a8c
- https://git.kernel.org/stable/c/db818b0e8af7bac16860116a19c341a63d6677b4