← Back to CVE Explorer

CVE-2026-89446

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: iommufd: Release current IOAS on xa_store() failure iommufd_take_all_iova_rwsem() takes an object reference and the iova_rwsem write lock before storing the IOAS in the temporary ioas_list xarray. If xa_store() fails, the current IOAS has not been inserted into ioas_list yet. iommufd_release_all_iova_rwsem() only unwinds IOAS objects already present in that xarray, so it cannot release the current IOAS. Release the current IOAS rwsem and object reference before unwinding the previously stored entries.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-11 20:19:25.110000
Last modified
2026-10-19 09:17:36.743000
View original CVE JSON
{
  "id": "CVE-2026-89446",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-11T20:19:25.110",
  "lastModified": "2026-10-19T09:17:36.743",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\niommufd: Release current IOAS on xa_store() failure\n\niommufd_take_all_iova_rwsem() takes an object reference and the\niova_rwsem write lock before storing the IOAS in the temporary ioas_list\nxarray.\n\nIf xa_store() fails, the current IOAS has not been inserted into\nioas_list yet. iommufd_release_all_iova_rwsem() only unwinds IOAS\nobjects already present in that xarray, so it cannot release the current\nIOAS.\n\nRelease the current IOAS rwsem and object reference before unwinding the\npreviously stored entries."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/iommu/iommufd/ioas.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "051ae5aa73d782a8be2699a11e17c68f28b4e758",
              "lessThan": "4c33d00ad9a911e87ea222986f732ce072e3aa26",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "051ae5aa73d782a8be2699a11e17c68f28b4e758",
              "lessThan": "07b4fe1367f076886c1c47a19c70936138325087",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "051ae5aa73d782a8be2699a11e17c68f28b4e758",
              "lessThan": "4ac2ce123824d5f885c868fa1f9f4d463141a2ba",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/iommu/iommufd/ioas.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "6.13",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "6.13",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.50",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.4",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/07b4fe1367f076886c1c47a19c70936138325087",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4ac2ce123824d5f885c868fa1f9f4d463141a2ba",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4c33d00ad9a911e87ea222986f732ce072e3aa26",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}