CVE-2026-90247

bpf: Fix mmap_lock leak in irq_work path

State
Published
Severity
Not scored
Published
Sep 17, 2026
Updated
Oct 30, 2026
Reserved
Sep 11, 2026

Read the record on cve.org

Description

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

bpf: Fix mmap_lock leak in irq_work path

stack_map_get_build_id_offset() introduced a per-CPU irq_work to defer mmap_read_unlock() from NMI context, and bpf_find_vma() later reused the same mmap_unlock_work. Both callers only check whether the work is busy before taking mmap_lock, so a nested caller can reuse the slot before the first caller queues it. Two read locks may then be acquired while only one deferred unlock runs, leaking a read lock and blocking exit_mmap().

Reserve the per-CPU slot before mmap_read_trylock(). Use the same wrapper in stackmap and bpf_find_vma() so both callers release the reservation on trylock failure. Keep rejecting the slot while the irq_work remains busy. Release it after the irq_work callback unlocks the mm.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • eac9153f2b584c702cea02c1f1a57d85aa9aea42 to before d6d091873e12d1de36d7228c4f452e6cace3a23eAffected
  • eac9153f2b584c702cea02c1f1a57d85aa9aea42 to before b6c9daf6097f9b39162b8e736a6ac7caf5ef6fc8Affected
  • eac9153f2b584c702cea02c1f1a57d85aa9aea42 to before 931f62311c058d79f29548f20943969bb441ce87Affected
  • eac9153f2b584c702cea02c1f1a57d85aa9aea42 to before a052ad5edccf5319f50ed955de4368f8318a9f20Affected
  • eac9153f2b584c702cea02c1f1a57d85aa9aea42 to before 051f2da26ce377f683b938a3382e0f16d02f3139Affected
  • eac9153f2b584c702cea02c1f1a57d85aa9aea42 to before fa9dcacdcdf487f0ffef64bf67622f1caed509f1Affected
  • a7f4da875c16f3b8bef0d9ec67528111045bfcd8Affected
  • f1838da73cccb238b8be4ef464fce0168dc7ba84Affected
  • 4.19.92 to before 4.20Affected
  • 5.4.7 to before 5.5Affected
LinuxLinux
  • 5.5Affected
  • before 5.5Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.114 through 6.12.*Not affected
  • 6.18.52 through 6.18.*Not affected
  • 7.2.6 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.