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

  bpf: Require a BPF cpumask for bpf_cpumask_populate()

  bpf_cpumask_populate() writes to its destination with bitmap_copy(), but
  the destination is typed as struct cpuma…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  bpf: Require a BPF cpumask for bpf_cpumask_populate()

  bpf_cpumask_populate() writes to its destination with bitmap_copy(), but
  the destination is typed as struct cpuma…
severity: high
cvss: 7.1
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 950ad93df2fce70445e655ed2e74f5c1a8653ab2 <
    0cfc9348a045da64955af2dd6902e66dfc7d6469
  - >-
    Linux >= 950ad93df2fce70445e655ed2e74f5c1a8653ab2 <
    b7e2a5c6519adc73be55c3de2cb545e095a0fbc5
  - >-
    Linux >= 950ad93df2fce70445e655ed2e74f5c1a8653ab2 <
    8740156ad33be5071b588b594c55f279457f667c
  - Linux 6.15
published: '2026-09-17'
updated: '2026-09-18'
sourceUpdated: '2026-09-18T18:18:21.150'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-93112'
references:
  - url: 'https://git.kernel.org/stable/c/0cfc9348a045da64955af2dd6902e66dfc7d6469'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/8740156ad33be5071b588b594c55f279457f667c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b7e2a5c6519adc73be55c3de2cb545e095a0fbc5'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
epss: 0.00169
epssPercentile: 0.05455
ingestedAt: '2026-09-17T16:21:47.753Z'
---

## Overview

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

bpf: Require a BPF cpumask for bpf_cpumask_populate()

bpf_cpumask_populate() writes to its destination with bitmap_copy(), but
the destination is typed as struct cpumask *. That allows the verifier to
accept borrowed cpumask pointers returned by read-only kfuncs, such as
scx_bpf_get_online_cpumask(), as a writable destination.

Make the destination a struct bpf_cpumask * so populate follows the same
ownership rule as the other mutating cpumask kfuncs. Query kfuncs continue
to accept const struct cpumask * inputs.

## Remediation

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