Skip to content
Heist/ feed
High

RDMA/bnxt_re: Prevent handling any completions after qp destroy

Type: advisorySource: Official CVE List1 source record

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] [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.

Announced Source revision 1
Original source ↗

CVE-2023-54048

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2023-54048

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "1ac5a404797523cedaf424a3aaa3cf8f9548dff8",
        "lessThan": "b79a0e71d6e8692e0b6da05f8aaa7d69191cf7e7",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "1ac5a404797523cedaf424a3aaa3cf8f9548dff8",
        "lessThan": "b8500538b8f5b2cd86b02754c8de83eaa7a2d6ba",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "1ac5a404797523cedaf424a3aaa3cf8f9548dff8",
        "lessThan": "7faa6097694164380ed19600c7a7993d071270b9",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "1ac5a404797523cedaf424a3aaa3cf8f9548dff8",
        "lessThan": "b5bbc6551297447d3cca55cf907079e206e9cd82",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "drivers/infiniband/hw/bnxt_re/ib_verbs.c",
      "drivers/infiniband/hw/bnxt_re/qplib_fp.c",
      "drivers/infiniband/hw/bnxt_re/qplib_fp.h"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "4.11"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "4.11",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "5.15.124",
        "versionType": "semver",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.1.43",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.4.8",
        "versionType": "semver",
        "lessThanOrEqual": "6.4.*"
      },
      {
        "status": "unaffected",
        "version": "6.5",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "drivers/infiniband/hw/bnxt_re/ib_verbs.c",
      "drivers/infiniband/hw/bnxt_re/qplib_fp.c",
      "drivers/infiniband/hw/bnxt_re/qplib_fp.h"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2023-54048

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#30339 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement