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

  kho: fix size calculation in kho_preserved_memory_reserve()

  kho_preserved_memory_reserve() calculates the size of a preservation by
  doing 1 << (order + PAGE_SHIFT)
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  kho: fix size calculation in kho_preserved_memory_reserve()

  kho_preserved_memory_reserve() calculates the size of a preservation by
  doing 1 << (order + PAGE_SHIFT). Si…
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'
cwe:
  - CWE-1335
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= fc33e4b44b2717feba2f6f07ce7943a96499c9ec <
    0692a8fdf0222af130c8ea97426f1c3bf3814905
  - >-
    Linux >= fc33e4b44b2717feba2f6f07ce7943a96499c9ec <
    42a6f03cf352eb6e6dbeef95e75e686f4cdb9bd1
  - >-
    Linux >= fc33e4b44b2717feba2f6f07ce7943a96499c9ec <
    3a0b8fa2eb36afc88b62a95f33f0c77c71fa5ded
  - Linux 6.16
published: '2026-09-11'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T11:17:54.227'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89568'
references:
  - url: 'https://git.kernel.org/stable/c/0692a8fdf0222af130c8ea97426f1c3bf3814905'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/3a0b8fa2eb36afc88b62a95f33f0c77c71fa5ded'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/42a6f03cf352eb6e6dbeef95e75e686f4cdb9bd1'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89568.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-89568'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2532296'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-89568'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89568'
  - url: >-
      https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2026/CVE-2026-89568.mbox
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00206
epssPercentile: 0.10638
cvssSource: vendor
ingestedAt: '2026-09-14T11:11:19.886Z'
---

## Overview

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

kho: fix size calculation in kho_preserved_memory_reserve()

kho_preserved_memory_reserve() calculates the size of a preservation by
doing 1 << (order + PAGE_SHIFT). Since the '1' is a 32-bit integer, it
can only be shifted by 31. That is, it will only work for preservations
up to 2 GiB. Larger preservations will trigger undefined behaviour.

While preservations larger than 2 GiB can't be obtained via folios
currently, they can be obtained via kho_preserve_pages().

For example, memblock reserve_mem uses kho_preserve_pages().
Reservations larger than 2 GiB are valid and will trigger this bug if
properly aligned.

Fix it by using 1UL for shifting.

## Remediation

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

## Vendor advisories

- **Red Hat VEX** · Moderate · updated 2026-09-18 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-89568.json)
