Skip to content
Heist/ feed
High

drm/i915: Fix request ref counting during error capture & debugfs dump

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: drm/i915: Fix request ref counting during error capture & debugfs dump When GuC support was added to error capture, the reference counting around the request object was broken. Fix it up. The context based search manages the spinlocking around the search internally. So it needs to grab the reference count internally as well. The execlist only request based search relies on external locking, so it needs an external reference count but within the spinlock not outside it. The only other caller of the context based search is the code for dumping engine state to debugfs. That code wasn't previously getting an explicit reference at all as it does everything while holding the execlist specific spinlock. So, that needs updaing as well as that spinlock doesn't help when using GuC submission. Rather than trying to conditionally get/put depending on submission model, just change it to always do the get/put. v2: Explicitly document adding an extra blank line in some dense code (Andy Shevchenko). Fix multiple potential null pointer derefs in case of no request found (some spotted by Tvrtko, but there was more!). Also fix a leaked request in case of !started and another in __guc_reset_context now that intel_context_find_active_request is actually reference counting the returned request. v3: Add a _get suffix to intel_context_find_active_request now that it grabs a reference (Daniele). v4: Split the intel_guc_find_hung_cont

Announced Group revision 1
Original source ↗

CVE-2023-52981

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-52981

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": "573ba126aef37c8315e5bb68d2dad515efa96994",
        "lessThan": "9467397f417dd7b5d0db91452f0474e79716a527",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "573ba126aef37c8315e5bb68d2dad515efa96994",
        "lessThan": "86d8ddc74124c3fdfc139f246ba6da15e45e86e3",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "drivers/gpu/drm/i915/gt/intel_context.c",
      "drivers/gpu/drm/i915/gt/intel_context.h",
      "drivers/gpu/drm/i915/gt/intel_engine_cs.c",
      "drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c",
      "drivers/gpu/drm/i915/i915_gpu_error.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "5.15"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "5.15",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.1.11",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.2",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "drivers/gpu/drm/i915/gt/intel_context.c",
      "drivers/gpu/drm/i915/gt/intel_context.h",
      "drivers/gpu/drm/i915/gt/intel_engine_cs.c",
      "drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c",
      "drivers/gpu/drm/i915/i915_gpu_error.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2023-52981

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

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