CVE-2022-50676
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A lock ordering bug in the Linux kernel's RDS TCP implementation can cause a deadlock warning when cancel_delayed_work_sync() is called under the sock lock.
Vulnerability
Overview
In CVE-2022-50676, the Linux kernel's RDS (Reliable Datagram Sockets) TCP implementation contains a lock ordering issue in rds_tcp_reset_callbacks(). The function holds the socket lock (lock_sock()) while calling cancel_delayed_work_sync(), but rds_send_xmit()—which is invoked by the work being cancelled—also tries to acquire the same socket lock [1]. This creates a potential deadlock, as reported by syzbot via a lockdep warning [2].
Exploitation and
Attack Surface
To trigger the issue, an attacker would need to cause a TCP reset on an RDS connection, leading to rds_tcp_reset_callbacks() being called. While no authentication is required beyond being able to interact with an RDS socket, the bug is primarily a locking mistake rather than a direct remote exploit. The resulting lockdep warning indicates a risk of system deadlock or hang if the race condition occurs [3].
Impact
If the deadlock is realized, the kernel can become unresponsive, leading to a denial-of-service condition on the affected system. The vulnerability does not directly allow code execution or privilege escalation, but a locked kernel can compromise system availability [4].
Mitigation
The fix, incorporated into mainline and stable kernels, removes the lock_sock() protection from the cancel_delayed_work_sync() call, because re-queued work will be a no-op when the connection is not up. Users should update their kernels to a version containing the patch from the referenced stable commits [1][2][3][4].
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2Patches
9360aa72192855d2ba255e9322425007c0967e3cb25d3ad08da349221c4d230bfa5aa7228c380c28ab9b1afe7053c390fa91b750fd662Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
9- git.kernel.org/stable/c/2425007c0967a7c04b0dee7cce05ecf0ca869ad1nvd
- git.kernel.org/stable/c/30bfa5aa7228eb1e67663d67e553627e572cc717nvd
- git.kernel.org/stable/c/360aa7219285fac63dab99706a16f2daf3222abenvd
- git.kernel.org/stable/c/5d2ba255e93211e541373469dffbda7c99dfa0e5nvd
- git.kernel.org/stable/c/a91b750fd6629354460282bbf5146c01b05c4859nvd
- git.kernel.org/stable/c/afe7053c390fe8ff27d0c2ceaece5625283044banvd
- git.kernel.org/stable/c/c380c28ab9b15fc53565909c814f6dd3e7f77c4bnvd
- git.kernel.org/stable/c/da349221c4d2d4ac5f606c1c3b36d4ef0b3e6a0cnvd
- git.kernel.org/stable/c/e3cb25d3ad08f5dbd53ce2b31720cad529944322nvd
News mentions
0No linked articles in our index yet.