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

PCI/P2PDMA: Release per-CPU pgmap ref when vm_insert_page() fails

When vm_insert_page() fails in p2pmem_alloc_mmap(), p2pmem_alloc_mmap()
doesn't invoke percpu_ref_put() to free the per-CPU ref of pgmap acquired
after gen_pool_alloc_owner(), and memunmap_pages() will hang forever when
trying to remove the PCI device.

Fix it by adding the missed percpu_ref_put().
Published: 2026-05-27
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

During PCI P2P DMA page mapping, a failure in vm_insert_page() causes the helper routine p2pmem_alloc_mmap() to skip a required release of a per‑CPU reference count. The unreleased reference prevents the kernel from freeing memory mappings of the PCI device, and memunmap_pages() blocks indefinitely during device removal, leading to a system hang that disrupts availability but does not directly expose data or alter system state. This flaw is a classic resource‑leak scenario where an invalidated reference count blocks clean de‑allocation.

Affected Systems

The vulnerability affects all Linux kernel builds that use the p2pmem_alloc_mmap path for PCI P2P DMA and have not yet applied the commit adding the missing percpu_ref_put() call. The issue is independent of distribution or patch level and therefore impacts any kernel lacking the fix.

Risk and Exploitability

CVSS score of 5.5 indicates moderate severity; no public exploit or documented attacks are currently known, and the EPSS score is < 1%, indicating a very low exploitation probability. The defect does not expose remote code execution, but a local attacker with the ability to initiate PCI device removal could force a kernel deadlock. The likely attack vector is a user or privileged process that can trigger the removal of a PCI device, leading to the failure path. Because the failure path requires a specific kernel function to fail during page insertion, exploitation is unlikely unless additional vulnerabilities allowing arbitrary kernel writes exist. The KEV catalog does not list this CVE, so it is not known to have active exploitation in the wild.

Generated by OpenCVE AI on May 28, 2026 at 17:07 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a recent kernel update that includes commit 51b7181c or later.
  • Rebuild the kernel after pulling the latest stable patch set from the upstream repository.
  • Reboot the system to ensure all PCI devices are flushed and the consumer references are released.

Generated by OpenCVE AI on May 28, 2026 at 17:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 28 May 2026 15:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-674
CWE-795

Thu, 28 May 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-911
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Low


Wed, 27 May 2026 16:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-674
CWE-795

Wed, 27 May 2026 14:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: PCI/P2PDMA: Release per-CPU pgmap ref when vm_insert_page() fails When vm_insert_page() fails in p2pmem_alloc_mmap(), p2pmem_alloc_mmap() doesn't invoke percpu_ref_put() to free the per-CPU ref of pgmap acquired after gen_pool_alloc_owner(), and memunmap_pages() will hang forever when trying to remove the PCI device. Fix it by adding the missed percpu_ref_put().
Title PCI/P2PDMA: Release per-CPU pgmap ref when vm_insert_page() fails
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-05-27T12:16:52.117Z

Reserved: 2026-05-13T15:03:33.082Z

Link: CVE-2026-45880

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-05-27T14:17:01.813

Modified: 2026-06-17T10:52:39.610

Link: CVE-2026-45880

cve-icon Redhat

Severity : Low

Publid Date: 2026-05-27T00:00:00Z

Links: CVE-2026-45880 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-05-28T17:15:21Z

Weaknesses
  • CWE-911

    Improper Update of Reference Count