CVE-2021-47392

See a problem?
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.osv.dev/v1/vulns/CVE-2021-47392
Related
Published
2024-05-21T15:15:24Z
Modified
2024-09-11T04:41:09.756574Z
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

Debian:11 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.10.84-1

Affected versions

5.*

5.10.46-4
5.10.46-5
5.10.70-1~bpo10+1
5.10.70-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

Debian:12 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.14.12-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

Debian:13 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
5.14.12-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}