---
id: CVE-2026-89446
title: 'iommufd: Release current IOAS on xa_store() failure'
summary: |-
  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 th…
severity: medium
cvss: 5.5
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'
cvssSource: vendor
cwe:
  - CWE-772
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 051ae5aa73d782a8be2699a11e17c68f28b4e758 <
    4c33d00ad9a911e87ea222986f732ce072e3aa26
  - >-
    Linux >= 051ae5aa73d782a8be2699a11e17c68f28b4e758 <
    07b4fe1367f076886c1c47a19c70936138325087
  - >-
    Linux >= 051ae5aa73d782a8be2699a11e17c68f28b4e758 <
    4ac2ce123824d5f885c868fa1f9f4d463141a2ba
  - Linux 6.13
published: '2026-09-11'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T08:46:55.828Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-89446'
references:
  - url: 'https://git.kernel.org/stable/c/4c33d00ad9a911e87ea222986f732ce072e3aa26'
  - url: 'https://git.kernel.org/stable/c/07b4fe1367f076886c1c47a19c70936138325087'
  - url: 'https://git.kernel.org/stable/c/4ac2ce123824d5f885c868fa1f9f4d463141a2ba'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89446.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89446'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2532091'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-89446'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89446'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89446.mbox
tags:
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00206
epssPercentile: 0.10626
ingestedAt: '2026-09-14T00:35:28.531Z'
---

## Overview

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.

## Affected

- `Linux >= 051ae5aa73d782a8be2699a11e17c68f28b4e758 < 4c33d00ad9a911e87ea222986f732ce072e3aa26`
- `Linux >= 051ae5aa73d782a8be2699a11e17c68f28b4e758 < 07b4fe1367f076886c1c47a19c70936138325087`
- `Linux >= 051ae5aa73d782a8be2699a11e17c68f28b4e758 < 4ac2ce123824d5f885c868fa1f9f4d463141a2ba`
- `Linux 6.13`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **Red Hat VEX** · Low · affected: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · no fix planned: Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 9, Red Hat OpenShift Container Platform 4 · updated 2026-09-18 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89446.json)
