net: rds: don't hold sock lock when cancelling work from rds_tcp_reset_callbacks()
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
4.8
References 9
git.kernel.org
- stable/c/5d2ba255e93211e541373469dffbda7c99dfa0e5
- stable/c/2425007c0967a7c04b0dee7cce05ecf0ca869ad1
- stable/c/e3cb25d3ad08f5dbd53ce2b31720cad529944322
- stable/c/360aa7219285fac63dab99706a16f2daf3222abe
- stable/c/da349221c4d2d4ac5f606c1c3b36d4ef0b3e6a0c
- stable/c/30bfa5aa7228eb1e67663d67e553627e572cc717
- stable/c/c380c28ab9b15fc53565909c814f6dd3e7f77c4b
- stable/c/afe7053c390fe8ff27d0c2ceaece5625283044ba
- stable/c/a91b750fd6629354460282bbf5146c01b05c4859