---
id: CVE-2026-99097
title: 'tee: shm: reject zero-sized allocations in tee_dyn_shm_alloc_helper()'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  tee: shm: reject zero-sized allocations in tee_dyn_shm_alloc_helper()

  tee_dyn_shm_alloc_helper() derives nr_pages from a caller-supplied size
  and passes it to alloc_pa…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= cf4441503e20a0c0a36e0a98dcf57de3d3844c91 <
    e5dc7af9c3a5373ee7a84959126e7dfa9e4ad50d
  - >-
    Linux >= cf4441503e20a0c0a36e0a98dcf57de3d3844c91 <
    65cb86860a80ffc6af897d53f5bd4b1733bca0ec
  - >-
    Linux >= cf4441503e20a0c0a36e0a98dcf57de3d3844c91 <
    c2a97703359e25ec7ef8b2b0ef32fb3982add90a
  - >-
    Linux >= cf4441503e20a0c0a36e0a98dcf57de3d3844c91 <
    b7f925fd5226deb953c8dcdc9677d3fcc2717c00
  - Linux 6.10
published: '2026-10-26'
updated: '2026-10-26'
sourceUpdated: '2026-10-26T14:52:03.824Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-99097'
references:
  - url: 'https://git.kernel.org/stable/c/e5dc7af9c3a5373ee7a84959126e7dfa9e4ad50d'
  - url: 'https://git.kernel.org/stable/c/65cb86860a80ffc6af897d53f5bd4b1733bca0ec'
  - url: 'https://git.kernel.org/stable/c/c2a97703359e25ec7ef8b2b0ef32fb3982add90a'
  - url: 'https://git.kernel.org/stable/c/b7f925fd5226deb953c8dcdc9677d3fcc2717c00'
tags:
  - cve.org
ingestedAt: '2026-10-26T15:29:30.506Z'
---

## Overview

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

tee: shm: reject zero-sized allocations in tee_dyn_shm_alloc_helper()

tee_dyn_shm_alloc_helper() derives nr_pages from a caller-supplied size
and passes it to alloc_pages_exact() without checking it. For size == 0
nr_pages is 0, and alloc_pages_exact(0) calls get_order(0), which is
documented as undefined and returns BITS_PER_LONG - PAGE_SHIFT. The page
allocator then trips its order > MAX_PAGE_ORDER warning and fails the
allocation; on a panic_on_warn kernel that ends the boot.

This can be triggered by TEE_IOC_SHM_ALLOC with struct
tee_ioctl_shm_alloc_data where size is 0.

Reject a zero page count, as register_shm_helper() already does for the
register path.

## Affected

- `Linux >= cf4441503e20a0c0a36e0a98dcf57de3d3844c91 < e5dc7af9c3a5373ee7a84959126e7dfa9e4ad50d`
- `Linux >= cf4441503e20a0c0a36e0a98dcf57de3d3844c91 < 65cb86860a80ffc6af897d53f5bd4b1733bca0ec`
- `Linux >= cf4441503e20a0c0a36e0a98dcf57de3d3844c91 < c2a97703359e25ec7ef8b2b0ef32fb3982add90a`
- `Linux >= cf4441503e20a0c0a36e0a98dcf57de3d3844c91 < b7f925fd5226deb953c8dcdc9677d3fcc2717c00`
- `Linux 6.10`

## Remediation

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