CVE-2021-47392

Source
https://nvd.nist.gov/vuln/detail/CVE-2021-47392
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47392.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2021-47392
Downstream
Related
Published
2024-05-21T15:15:24Z
Modified
2025-09-23T20:16:25Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

In the Linux kernel, the following vulnerability has been resolved:

RDMA/cma: Fix listener leak in rdmacmalistenonall() failure

If cmalistenonall() fails it leaves the per-device ID still on the listenlist but the state is not set to RDMACMADDR_BOUND.

When the cmid is eventually destroyed cmacancellistens() is not called due to the wrong state, however the per-device IDs are still holding the refcount preventing the ID from being destroyed, thus deadlocking:

task:rping state:D stack: 0 pid:19605 ppid: 47036 flags:0x00000084 Call Trace: _schedule+0x29a/0x780 ? freeunrefpagecommit+0x9b/0x110 schedule+0x3c/0xa0 scheduletimeout+0x215/0x2b0 ? _flushwork+0x19e/0x1e0 waitforcompletion+0x8d/0xf0 _destroyid+0x144/0x210 [rdmacm] ucmacloseid+0x2b/0x40 [rdmaucm] _destroyid+0x93/0x2c0 [rdmaucm] ? _xaerase+0x4a/0xa0 ucmadestroyid+0x9a/0x120 [rdmaucm] ucmawrite+0xb8/0x130 [rdmaucm] vfswrite+0xb4/0x250 ksyswrite+0xb5/0xd0 ? syscalltraceenter.isra.19+0x123/0x190 dosyscall64+0x33/0x40 entrySYSCALL64afterhwframe+0x44/0xa9

Ensure that cmalistenon_all() atomically unwinds its action under the lock during error.

References

Affected packages