Description
In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix call removal to use RCU safe deletion Fix rxrpc call removal from the rxnet->calls list to use list_del_rcu() rather than list_del_init() to prevent stuffing up reading /proc/net/rxrpc/calls from potentially getting into an infinite loop. This, however, means that list_empty() no longer works on an entry that's been deleted from the list, making it harder to detect prior deletion. Fix this by: Firstly, make rxrpc_destroy_all_calls() only dump the first ten calls that are unexpectedly still on the list. Limiting the number of steps means there's no need to call cond_resched() or to remove calls from the list here, thereby eliminating the need for rxrpc_put_call() to check for that. rxrpc_put_call() can then be fixed to unconditionally delete the call from the list as it is the only place that the deletion occurs.
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
2baec2c3f854d1f79c7bb28386484e144e864a14 to < 3e47a38e584b905359fe0ce5be5165d1e8592a90affected2baec2c3f854d1f79c7bb28386484e144e864a14 to < b15b1ce96777b88989a6a4de8d01efbcd81ad2d7affected2baec2c3f854d1f79c7bb28386484e144e864a14 to < 280efb85e9759881a9d31d0874baa04583cb6c09affected2baec2c3f854d1f79c7bb28386484e144e864a14 to < 93fc15be44a35b8e3c58d0238ac0d9b7c53465ffaffected2baec2c3f854d1f79c7bb28386484e144e864a14 to < c63abf25203b50243fe228090526f9dbf37727bdaffected2baec2c3f854d1f79c7bb28386484e144e864a14 to < 3be718f659683ad89fad6f1eb66bee99727cae64affected2baec2c3f854d1f79c7bb28386484e144e864a14 to < ac5f54691be06a32246179d41be2d73598036debaffected2baec2c3f854d1f79c7bb28386484e144e864a14 to < 146d4ab94cf129ee06cd467cb5c71368a6b5bad6affected
Linux Linux
Default version status: affected
4.13affected0 to < 4.13unaffected5.10.258 to ≤ 5.10.*unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.135 to ≤ 6.6.*unaffected6.12.82 to ≤ 6.12.*unaffected6.18.23 to ≤ 6.18.*unaffected6.19.13 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/3e47a38e584b905359fe0ce5be5165d1e8592a90 ↗
- https://git.kernel.org/stable/c/b15b1ce96777b88989a6a4de8d01efbcd81ad2d7 ↗
- https://git.kernel.org/stable/c/280efb85e9759881a9d31d0874baa04583cb6c09 ↗
- https://git.kernel.org/stable/c/93fc15be44a35b8e3c58d0238ac0d9b7c53465ff ↗
- https://git.kernel.org/stable/c/c63abf25203b50243fe228090526f9dbf37727bd ↗
- https://git.kernel.org/stable/c/3be718f659683ad89fad6f1eb66bee99727cae64 ↗
- https://git.kernel.org/stable/c/ac5f54691be06a32246179d41be2d73598036deb ↗
- https://git.kernel.org/stable/c/146d4ab94cf129ee06cd467cb5c71368a6b5bad6 ↗
- https://cert-portal.siemens.com/productcert/html/ssa-784472.html ↗