Description
In the Linux kernel, the following vulnerability has been resolved: net: rds: don't hold sock lock when cancelling work from rds_tcp_reset_callbacks() syzbot is reporting lockdep warning at rds_tcp_reset_callbacks() [1], for commit ac3615e7f3cffe2a ("RDS: TCP: Reduce code duplication in rds_tcp_reset_callbacks()") added cancel_delayed_work_sync() into a section protected by lock_sock() without realizing that rds_send_xmit() might call lock_sock(). We don't need to protect cancel_delayed_work_sync() using lock_sock(), for even if rds_{send,recv}_worker() re-queued this work while __flush_work() from cancel_delayed_work_sync() was waiting for this work to complete, retried rds_{send,recv}_worker() is no-op due to the absence of RDS_CONN_UP bit.
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
ac3615e7f3cffe2a1a6b25172dfd09e138593d82 to < 5d2ba255e93211e541373469dffbda7c99dfa0e5affectedac3615e7f3cffe2a1a6b25172dfd09e138593d82 to < 2425007c0967a7c04b0dee7cce05ecf0ca869ad1affectedac3615e7f3cffe2a1a6b25172dfd09e138593d82 to < e3cb25d3ad08f5dbd53ce2b31720cad529944322affectedac3615e7f3cffe2a1a6b25172dfd09e138593d82 to < 360aa7219285fac63dab99706a16f2daf3222abeaffectedac3615e7f3cffe2a1a6b25172dfd09e138593d82 to < da349221c4d2d4ac5f606c1c3b36d4ef0b3e6a0caffectedac3615e7f3cffe2a1a6b25172dfd09e138593d82 to < 30bfa5aa7228eb1e67663d67e553627e572cc717affectedac3615e7f3cffe2a1a6b25172dfd09e138593d82 to < c380c28ab9b15fc53565909c814f6dd3e7f77c4baffectedac3615e7f3cffe2a1a6b25172dfd09e138593d82 to < afe7053c390fe8ff27d0c2ceaece5625283044baaffectedac3615e7f3cffe2a1a6b25172dfd09e138593d82 to < a91b750fd6629354460282bbf5146c01b05c4859affected
Linux Linux
Default version status: affected
4.8affected0 to < 4.8unaffected4.9.331 to ≤ 4.9.*unaffected4.14.296 to ≤ 4.14.*unaffected4.19.262 to ≤ 4.19.*unaffected5.4.220 to ≤ 5.4.*unaffected5.10.150 to ≤ 5.10.*unaffected5.15.75 to ≤ 5.15.*unaffected5.19.17 to ≤ 5.19.*unaffected6.0.3 to ≤ 6.0.*unaffected6.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/5d2ba255e93211e541373469dffbda7c99dfa0e5 ↗
- https://git.kernel.org/stable/c/2425007c0967a7c04b0dee7cce05ecf0ca869ad1 ↗
- https://git.kernel.org/stable/c/e3cb25d3ad08f5dbd53ce2b31720cad529944322 ↗
- https://git.kernel.org/stable/c/360aa7219285fac63dab99706a16f2daf3222abe ↗
- https://git.kernel.org/stable/c/da349221c4d2d4ac5f606c1c3b36d4ef0b3e6a0c ↗
- https://git.kernel.org/stable/c/30bfa5aa7228eb1e67663d67e553627e572cc717 ↗
- https://git.kernel.org/stable/c/c380c28ab9b15fc53565909c814f6dd3e7f77c4b ↗
- https://git.kernel.org/stable/c/afe7053c390fe8ff27d0c2ceaece5625283044ba ↗
- https://git.kernel.org/stable/c/a91b750fd6629354460282bbf5146c01b05c4859 ↗