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

  bpf: Fix softlockup in arena_map_free on 64k page kernel

  On an aarch64 kernel with CONFIG_PAGE_SIZE_64KB=y,
  arena_htab tests cause a segmentation fault and soft lockup…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  bpf: Fix softlockup in arena_map_free on 64k page kernel

  On an aarch64 kernel with CONFIG_PAGE_SIZE_64KB=y,
  arena_htab tests cause a segmentation fault and soft lockup…
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'
cwe:
  - CWE-667
  - CWE-667
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 6.9, < 6.12.17'
  - 'linux_kernel >= 6.13, < 6.13.5'
  - linux_kernel = 6.9
  - linux_kernel = 6.14
patched:
  - linux_kernel 6.13.5
published: '2025-03-12'
updated: '2026-07-30'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-21851'
references:
  - url: 'https://git.kernel.org/stable/c/517e8a7835e8cfb398a0aeb0133de50e31cae32b'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/787d556a3de447e70964a4bdeba9196f62a62b1e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c1f3f3892d4526f18aaeffdb6068ce861e793ee3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00173
epssPercentile: 0.06009
ingestedAt: '2026-07-30T06:53:10.540Z'
---

## Overview

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

bpf: Fix softlockup in arena_map_free on 64k page kernel

On an aarch64 kernel with CONFIG_PAGE_SIZE_64KB=y,
arena_htab tests cause a segmentation fault and soft lockup.
The same failure is not observed with 4k pages on aarch64.

It turns out arena_map_free() is calling
apply_to_existing_page_range() with the address returned by
bpf_arena_get_kern_vm_start().  If this address is not page-aligned
the code ends up calling apply_to_pte_range() with that unaligned
address causing soft lockup.

Fix it by round up GUARD_SZ to PAGE_SIZE << 1 so that the
division by 2 in bpf_arena_get_kern_vm_start() returns
a page-aligned value.

## Affected

- `linux_kernel >= 6.9, < 6.12.17`
- `linux_kernel >= 6.13, < 6.13.5`
- `linux_kernel = 6.9`
- `linux_kernel = 6.14`

## Remediation

Upgrade past the affected range:

- `linux_kernel 6.13.5`
