Skip to main content
← All vulnerabilities
CVE-2026-93075

dax/fsdev: clear pgmap ops and owner on unbind

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 7.2.6
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: dax/fsdev: clear pgmap ops and owner on unbind fsdev_dax_probe() sets pgmap->ops = &fsdev_pagemap_ops and pgmap->owner = dev_dax, but nothing ever clears them. For a dynamic device the pgmap is devm-allocated and freed on unbind, so this is harmless. For a static device the pgmap is the shared, long-lived one owned by the dax bus (kill_dev_dax() only NULLs dev_dax->pgmap for the non-static case), and device.c's probe sets only pgmap->type, never clearing ops/owner. So after fsdev unbinds a static device the stale fsdev_pagemap_ops survives on the shared pgmap. If the device is then rebound to device_dax (MEMORY_DEVICE_GENERIC, which installs no ->memory_failure), or the fsdev_dax module is unloaded, a subsequent memory_failure on that pgmap dispatches through the stale -- and possibly freed -- handler. Register a devm action that clears pgmap->ops and pgmap->owner on unbind, symmetric with setting them at probe, so the pgmap carries no fsdev state once fsdev is detached.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From d5406bd458b0ac10b1301a4d5801d85c8f648637 · fixed in 9b0f91dc9147a8601cec3d4d83cf13c6aaf71b27; From d5406bd458b0ac10b1301a4d5801d85c8f648637 · fixed in f48884ac31b6bfc99f36b3f207b8c0cbe5d54bd7

  • Linux Linux

    7.1

  • KernelLinux

    From 7.1.0 · fixed in 7.2.6

References 2

git.kernel.org