Skip to content
Heist/ feed
High

lib: test_hmm: evict device pages on file close to avoid use-after-free

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: lib: test_hmm: evict device pages on file close to avoid use-after-free Patch series "Minor hmm_test fixes and cleanups". Two bugfixes a cleanup for the HMM kernel selftests. These were mostly reported by Zenghui Yu with special thanks to Lorenzo for analysing and pointing out the problems. This patch (of 3): When dmirror_fops_release() is called it frees the dmirror struct but doesn't migrate device private pages back to system memory first. This leaves those pages with a dangling zone_device_data pointer to the freed dmirror. If a subsequent fault occurs on those pages (eg. during coredump) the dmirror_devmem_fault() callback dereferences the stale pointer causing a kernel panic. This was reported [1] when running mm/ksft_hmm.sh on arm64, where a test failure triggered SIGABRT and the resulting coredump walked the VMAs faulting in the stale device private pages. Fix this by calling dmirror_device_evict_chunk() for each devmem chunk in dmirror_fops_release() to migrate all device private pages back to system memory before freeing the dmirror struct. The function is moved earlier in the file to avoid a forward declaration.

Announced Source revision 1
Original source ↗

CVE-2026-46280

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-2026-46280

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": "b2ef9f5a5cb37643ca5def3516c546457074b882",
        "lessThan": "234071b4318feaeb27cd2e4e1b16ef6b055adf89",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b2ef9f5a5cb37643ca5def3516c546457074b882",
        "lessThan": "bf477abd448c76bb8ea51c9b4f63a3a17c4b6239",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b2ef9f5a5cb37643ca5def3516c546457074b882",
        "lessThan": "5846715b6382dd4c6a69b35a56ca6115d33bc2a0",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b2ef9f5a5cb37643ca5def3516c546457074b882",
        "lessThan": "38f113f81d3f0adc658a4475dd3ecaec985e21d3",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b2ef9f5a5cb37643ca5def3516c546457074b882",
        "lessThan": "9de1eb0aac2862d6144b8db0ec1388e79f8bc3e1",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b2ef9f5a5cb37643ca5def3516c546457074b882",
        "lessThan": "744dd97752ef1076a8d8672bb0d8aa2c7abc1144",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "lib/test_hmm.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.8"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "5.8",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.1.176",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.140",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.86",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.27",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.0.4",
        "versionType": "semver",
        "lessThanOrEqual": "7.0.*"
      },
      {
        "status": "unaffected",
        "version": "7.1",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "lib/test_hmm.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-46280

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

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