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

  mm/page_alloc: don't spin_trylock() in NMI on UP

  Patch series "mm/page_alloc: fixes for free_pages_nolock() on RT/UP".

  Pre-existing bugs found by Sashiko during revie…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  mm/page_alloc: don't spin_trylock() in NMI on UP

  Patch series "mm/page_alloc: fixes for free_pages_nolock() on RT/UP".

  Pre-existing bugs found by Sashiko during revie…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 8c57b687e8331eb80e302a2c528b18b966a9ac7a <
    06c76d3c389ff504052f64b1acee44651bd847fa
  - >-
    Linux >= 8c57b687e8331eb80e302a2c528b18b966a9ac7a <
    68a069b407303e71db371df85036101e8ff59280
  - >-
    Linux >= 8c57b687e8331eb80e302a2c528b18b966a9ac7a <
    3105ae628fb785d48b49256468be4f21a7b3cfc0
  - Linux 6.15
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T15:18:27.317'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-90046'
references:
  - url: 'https://git.kernel.org/stable/c/06c76d3c389ff504052f64b1acee44651bd847fa'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/3105ae628fb785d48b49256468be4f21a7b3cfc0'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/68a069b407303e71db371df85036101e8ff59280'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T10:53:53.927Z'
epss: 0.00165
epssPercentile: 0.04984
---

## Overview

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

mm/page_alloc: don't spin_trylock() in NMI on UP

Patch series "mm/page_alloc: fixes for free_pages_nolock() on RT/UP".

Pre-existing bugs found by Sashiko during review of this other series:
https://lore.kernel.org/all/20260703-alloc-trylock-v5-0-c87b714e19d3@google.com/

I have not reproduced these bugs, and I suspect there is no real-world
user that is affected by them.


This patch (of 2):

As noted in can_spin_trylock(), using this is unsafe in this context. 
commit 620b46ed6ae17 ("mm/page_alloc: return NULL early from
alloc_frozen_pages_nolock() in NMI on UP") fixed this on the alloc side
but missed the free side.

Impact: If BPF programs using these features in NMI (probably tracing) are
present on non-SMP builds this might crash the kernel and is probably
exploitable by local attackers for privilege escalation.

## Remediation

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