---
id: CVE-2026-98440
title: 'KVM: arm64: nv: Delay freeing of shadow S2 structures until VM destruction'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  KVM: arm64: nv: Delay freeing of shadow S2 structures until VM destruction

  We free the shadow S2 structures from kvm_arch_flush_shadow_all(), which
  is a Bad Idea(tm). …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 4f128f8e1aaac189f83d0f828bcdb2986d8d2e51 <
    876049f026b4dfaca0cc78ec81be0e639ca8525d
  - >-
    Linux >= 4f128f8e1aaac189f83d0f828bcdb2986d8d2e51 <
    22e82acec93a681071ed36f70eabe2d0c4e0bebd
  - >-
    Linux >= 4f128f8e1aaac189f83d0f828bcdb2986d8d2e51 <
    5bf1c9175e657b3c2dc1cf77403031ac7aadcf66
  - >-
    Linux >= 4f128f8e1aaac189f83d0f828bcdb2986d8d2e51 <
    e5843f4effaa2ffac3e789ecd4456403564961d4
  - Linux 6.11
published: '2026-10-18'
updated: '2026-10-18'
sourceUpdated: '2026-10-18T15:14:50.740Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-98440'
references:
  - url: 'https://git.kernel.org/stable/c/876049f026b4dfaca0cc78ec81be0e639ca8525d'
  - url: 'https://git.kernel.org/stable/c/22e82acec93a681071ed36f70eabe2d0c4e0bebd'
  - url: 'https://git.kernel.org/stable/c/5bf1c9175e657b3c2dc1cf77403031ac7aadcf66'
  - url: 'https://git.kernel.org/stable/c/e5843f4effaa2ffac3e789ecd4456403564961d4'
tags:
  - cve.org
ingestedAt: '2026-10-18T15:45:12.307Z'
---

## Overview

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

KVM: arm64: nv: Delay freeing of shadow S2 structures until VM destruction

We free the shadow S2 structures from kvm_arch_flush_shadow_all(), which
is a Bad Idea(tm). Freeing the page tables is fair game (this is what
this callback is for), but freeing the container that could still be
referenced by another part of the system is not great.

Instead, grow separate destructors that gets called when we tear the VM
down for good. From there, we can nuke both the individual MMUs as well
as the global array that points to them, safe in the knowledge that the
vcpus themselves have been destroyed already.

## Affected

- `Linux >= 4f128f8e1aaac189f83d0f828bcdb2986d8d2e51 < 876049f026b4dfaca0cc78ec81be0e639ca8525d`
- `Linux >= 4f128f8e1aaac189f83d0f828bcdb2986d8d2e51 < 22e82acec93a681071ed36f70eabe2d0c4e0bebd`
- `Linux >= 4f128f8e1aaac189f83d0f828bcdb2986d8d2e51 < 5bf1c9175e657b3c2dc1cf77403031ac7aadcf66`
- `Linux >= 4f128f8e1aaac189f83d0f828bcdb2986d8d2e51 < e5843f4effaa2ffac3e789ecd4456403564961d4`
- `Linux 6.11`

## Remediation

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