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

  LoongArch: KVM: Free init resources if kvm_init() fails

  kvm_loongarch_init() calls kvm_loongarch_env_init() to allocate the
  per-CPU kvm_context (vmcs) and kvm_loongarc…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  LoongArch: KVM: Free init resources if kvm_init() fails

  kvm_loongarch_init() calls kvm_loongarch_env_init() to allocate the
  per-CPU kvm_context (vmcs) and kvm_loongarc…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 2bd6ac68726131da32ace9717aa63ff68cf6605c <
    6bbbd7b719233645a5c120557a9ca1422e6b7a48
  - >-
    Linux >= 2bd6ac68726131da32ace9717aa63ff68cf6605c <
    6b78786ee7260d9818cf1d7a245b7a655ef83076
  - >-
    Linux >= 2bd6ac68726131da32ace9717aa63ff68cf6605c <
    3bf6f5e2e1007d38a5f35bd37e94ab645a0c40bc
  - >-
    Linux >= 2bd6ac68726131da32ace9717aa63ff68cf6605c <
    f7a1064cce3b100b54780c68529176232d8eb01e
  - Linux 6.7
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T11:16:59.917'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89909'
references:
  - url: 'https://git.kernel.org/stable/c/3bf6f5e2e1007d38a5f35bd37e94ab645a0c40bc'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6b78786ee7260d9818cf1d7a245b7a655ef83076'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6bbbd7b719233645a5c120557a9ca1422e6b7a48'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f7a1064cce3b100b54780c68529176232d8eb01e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T10:53:53.975Z'
epss: 0.002
epssPercentile: 0.10103
---

## Overview

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

LoongArch: KVM: Free init resources if kvm_init() fails

kvm_loongarch_init() calls kvm_loongarch_env_init() to allocate the
per-CPU kvm_context (vmcs) and kvm_loongarch_ops and to register the
perf callbacks, and then calls kvm_init(). If kvm_init() fails its
result is returned directly, but since module_init() does not run the
module_exit() stuff on failure, so kvm_loongarch_env_exit() is never
called and those resources are leaked.

So call kvm_loongarch_env_exit() when kvm_init() fails, matching the
teardown-on-failure pattern used by riscv_kvm_init().

## Remediation

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