CVE-2023-54048
CVE.org · Published
- Record status
- Published
- Identifier year (not publication year)
- 2023
- Source publication
- Source updated
- Imported by cveboard
- Source snapshot
- cve_2026-10-24_midnight_baseline ·
CNA source text (English)
RDMA/bnxt_re: Prevent handling any completions after qp destroy
In the Linux kernel, the following vulnerability has been resolved: RDMA/bnxt_re: Prevent handling any completions after qp destroy HW may generate completions that indicates QP is destroyed. Driver should not be scheduling any more completion handlers for this QP, after the QP is destroyed. Since CQs are active during the QP destroy, driver may still schedule completion handlers. This can cause a race where the destroy_cq and poll_cq running simultaneously. Snippet of kernel panic while doing bnxt_re driver load unload in loop. This indicates a poll after the CQ is freed. [77786.481636] Call Trace: [77786.481640] <TASK> [77786.481644] bnxt_re_poll_cq+0x14a/0x620 [bnxt_re] [77786.481658] ? kvm_clock_read+0x14/0x30 [77786.481693] __ib_process_cq+0x57/0x190 [ib_core] [77786.481728] ib_cq_poll_work+0x26/0x80 [ib_core] [77786.481761] process_one_work+0x1e5/0x3f0 [77786.481768] worker_thread+0x50/0x3a0 [77786.481785] ? __pfx_worker_thread+0x10/0x10 [77786.481790] kthread+0xe2/0x110 [77786.481794] ? __pfx_kthread+0x10/0x10 [77786.481797] ret_from_fork+0x2c/0x50 To avoid this, complete all completion handlers before returning the destroy QP. If free_cq is called soon after destroy_qp, IB stack will cancel the CQ work before invoking the destroy_cq verb and this will prevent any race mentioned.
Scoped product and version facts
Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.
Exploitation unknown; this catalogue does not assess exploitation.
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
unaffected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 1ac5a404797523cedaf424a3aaa3cf8f9548dff8 | affected | git | b79a0e71d6e8692e0b6da05f8aaa7d69191cf7e7 | Unavailable | None listed |
| 1ac5a404797523cedaf424a3aaa3cf8f9548dff8 | affected | git | b8500538b8f5b2cd86b02754c8de83eaa7a2d6ba | Unavailable | None listed |
| 1ac5a404797523cedaf424a3aaa3cf8f9548dff8 | affected | git | 7faa6097694164380ed19600c7a7993d071270b9 | Unavailable | None listed |
| 1ac5a404797523cedaf424a3aaa3cf8f9548dff8 | affected | git | b5bbc6551297447d3cca55cf907079e206e9cd82 | Unavailable | None listed |
Linux
- Vendor
- Linux
- Product
- Linux
- Platforms
- Unknown
- Default status
affected
| Version (version) | Status (status) | Version scheme (versionType) | Exclusive end (lessThan) | Inclusive end (lessThanOrEqual) | Status changes (at → status) |
|---|---|---|---|---|---|
| 4.11 | affected | Unavailable | Unavailable | Unavailable | None listed |
| 0 | unaffected | semver | 4.11 | Unavailable | None listed |
| 5.15.124 | unaffected | semver | Unavailable | 5.15.* | None listed |
| 6.1.43 | unaffected | semver | Unavailable | 6.1.* | None listed |
| 6.4.8 | unaffected | semver | Unavailable | 6.4.* | None listed |
| 6.5 | unaffected | original_commit_for_fix | Unavailable | * | None listed |