---
id: CVE-2026-90095
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  fuse: Fix the condition to enable over-io-uring

  The existing condition in fuse_uring_cmd() is there only to avoid
  disabling io-uring for connections that already run w…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  fuse: Fix the condition to enable over-io-uring

  The existing condition in fuse_uring_cmd() is there only to avoid
  disabling io-uring for connections that already run w…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 3393ff964e0fa5def66570c54a4612bf9df06b76 <
    8f9a725d89711ad027f6b7183586ef91528f106d
  - >-
    Linux >= 3393ff964e0fa5def66570c54a4612bf9df06b76 <
    1f59015e958174e89be58cc8db16d70a60d17255
  - Linux 6.14
published: '2026-09-17'
updated: '2026-09-17'
sourceUpdated: '2026-09-17T17:17:01.123'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-90095'
references:
  - url: 'https://git.kernel.org/stable/c/1f59015e958174e89be58cc8db16d70a60d17255'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8f9a725d89711ad027f6b7183586ef91528f106d'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-17T16:21:47.891Z'
epss: 0.00198
epssPercentile: 0.08481
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

fuse: Fix the condition to enable over-io-uring

The existing condition in fuse_uring_cmd() is there only to avoid
disabling io-uring for connections that already run with it, missing
was a condition to refuse any IORING_OP_URING_CMD if the
connection/channel didn't get enabled because of missing FUSE_INIT
reply flag FUSE_OVER_IO_URING. Without the reply flag the barrier in
fuse_uring_ready() doesn't work and IO could already be going on and
cause deadlock states (at a minimum one between fch->bg_lock and
queue->lock).

The change itself is trivial, but brings behavior change,
FUSE_OVER_IO_URING has to be set in the FUSE_INIT_REPLY by fuse servers
to accept any IORING_OP_URING_CMD. Libfuse does that and the only
non-libfuse implementation I found (fractal-fuse) also does it.
Qemu patches for fuse-io-uring are not merged yet, as far as I know.

Moved up is the smp_load_acquire(&fch->initialized) check, as a
fuse-server implementation might try to setup io-uring before FUSE_INIT
is processed and might have gotten -EOPNOTSUPP instead of -EAGAIN.

Also fixed is a stale comment that explains the handling of the
FUSE_OVER_IO_URING flag in early RFC versions.

If there should be a report from any library or application we
probably need to revert this commit.

## Remediation

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