Description
In the Linux kernel, the following vulnerability has been resolved: batman-adv: Avoid double-rtnl_lock ELP metric worker batadv_v_elp_get_throughput() might be called when the RTNL lock is already held. This could be problematic when the work queue item is cancelled via cancel_delayed_work_sync() in batadv_v_elp_iface_disable(). In this case, an rtnl_lock() would cause a deadlock. To avoid this, rtnl_trylock() was used in this function to skip the retrieval of the ethtool information in case the RTNL lock was already held. But for cfg80211 interfaces, batadv_get_real_netdev() was called - which also uses rtnl_lock(). The approach for __ethtool_get_link_ksettings() must also be used instead and the lockless version __batadv_get_real_netdev() has to be called.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
a0019971f340ae02ba54cf1861f72da7e03e6b66 to < 4c3ae249431b4fcb315d7dfb4c3a13f9e443fd9baffected3c0e0aecb78cb2a2ca1dc701982d08fedb088dc6 to < 192f40ad8a7dac58dae9199a065dbf7e6e67b75baffected781a06fd265a8151f7601122d9c2e985663828ff to < fa7b4edfbabdf9235b0ab4bea297fc12b3bec9caaffecteda7aa2317285806640c844acd4cd2cd768e395264 to < f3ca45673dab0514a887231de6f3243a699d5bfdaffected0fdc3c166ac17b26014313fa2b93696354511b24 to < b7e5d8ddfdf1d6e9e0808d1adf7736a107372d77affected8c8ecc98f5c65947b0070a24bac11e12e47cc65d to < 2ab9f2531d37775cd79228c1f5d80e6bd08d11d3affected8c8ecc98f5c65947b0070a24bac11e12e47cc65d to < 77808fe7d03ad0062840b95f431869a8b3d88b24affected8c8ecc98f5c65947b0070a24bac11e12e47cc65d to < cfc83a3c71517b59c1047db57da31e26a9dc2f33affected1c334629176c2d644befc31a20d4bf75542f7631affectedaf264c2a9adc37f4bdf88ca7f3affa15d8c7de9eaffected5.10.235 to < 5.10.253affected5.15.179 to < 5.15.203affected6.1.129 to < 6.1.167affected6.6.79 to < 6.6.130affected6.12.16 to < 6.12.78affected5.4.291 to < 5.5affected6.13.4 to < 6.14affected
Linux Linux
Default version status: affected
6.14affected0 to < 6.14unaffected5.10.253 to ≤ 5.10.*unaffected5.15.203 to ≤ 5.15.*unaffected6.1.167 to ≤ 6.1.*unaffected6.6.130 to ≤ 6.6.*unaffected6.12.78 to ≤ 6.12.*unaffected6.18.19 to ≤ 6.18.*unaffected6.19.9 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/4c3ae249431b4fcb315d7dfb4c3a13f9e443fd9b ↗
- https://git.kernel.org/stable/c/192f40ad8a7dac58dae9199a065dbf7e6e67b75b ↗
- https://git.kernel.org/stable/c/fa7b4edfbabdf9235b0ab4bea297fc12b3bec9ca ↗
- https://git.kernel.org/stable/c/f3ca45673dab0514a887231de6f3243a699d5bfd ↗
- https://git.kernel.org/stable/c/b7e5d8ddfdf1d6e9e0808d1adf7736a107372d77 ↗
- https://git.kernel.org/stable/c/2ab9f2531d37775cd79228c1f5d80e6bd08d11d3 ↗
- https://git.kernel.org/stable/c/77808fe7d03ad0062840b95f431869a8b3d88b24 ↗
- https://git.kernel.org/stable/c/cfc83a3c71517b59c1047db57da31e26a9dc2f33 ↗