CVE-2026-46115 Details
Description
In the Linux kernel, the following vulnerability has been resolved: block: add pgmap check to biovec_phys_mergeable biovec_phys_mergeable() is used by the request merge, DMA mapping, and integrity merge paths to decide if two physically contiguous bvec segments can be coalesced into one. It currently has no check for whether the segments belong to different dev_pagemaps. When zone device memory is registered in multiple chunks, each chunk gets its own dev_pagemap. A single bio can legitimately contain bvecs from different pgmaps -- iov_iter_extract_bvecs() breaks at pgmap boundaries but the outer loop in bio_iov_iter_get_pages() continues filling the same bio. If such bvecs are physically contiguous, biovec_phys_mergeable() will coalesce them, making it impossible to recover the correct pgmap for the merged segment via page_pgmap(). Add a zone_device_pages_have_same_pgmap() check to prevent merging bvec segments that span different pgmaps.
A vulnerability in the Linux kernel's handling of zone device memory can lead to incorrect coalescing of physically contiguous bvec segments. The issue arises because the current implementation of biovec_phys_mergeable() does not consider whether the segments belong to different dev_pagemaps. When zone device memory is divided into multiple chunks, each chunk receives its own dev_pagemap. As a result, a single bio can contain bvecs from different pgmaps. The iov_iter_extract_bvecs() function respects pgmap boundaries, but bio_iov_iter_get_pages() does not, potentially allowing bvecs from different pgmaps to be merged incorrectly. This can disrupt the ability to retrieve the correct pgmap for the merged segment. The vulnerability has been addressed by adding a check to ensure that bvec segments from different pgmaps are not merged, thereby preserving the integrity of the pgmap information.
Users can upgrade to the latest version of the Linux kernel where this vulnerability has been addressed.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/13920e4b7b784b40cf4519ff1f0f3e513476a499 | kernel.org | Patch |
| https://git.kernel.org/stable/c/3d2ecbd444b01d6500671d1a582b7393943cf539 | kernel.org | Patch |
| https://git.kernel.org/stable/c/a7f3aa8c9df3905fe820ae36b67ba56b81587574 | kernel.org | Patch |
| https://git.kernel.org/stable/c/f17d521075325b8afc42d1baa1c28a5e9aca111f | kernel.org | Patch |
| https://git.kernel.org/stable/c/f632dab4b841554cd6416058c61886d7db176581 | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| NVD-CWE-noinfo | Insufficient Information to Classify Weakness | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 6.2, < 6.6.140 >= 6.7, < 6.12.88 >= 6.13, < 6.18.30 >= 6.19, < 7.0.7 |
CPE
Remediation
| |
Change History
4 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 24, 2026 | Initial Analysis | [email protected] |
| Jun 17, 2026 | CVE Modified | kernel.org |
| May 30, 2026 | CVE Modified | kernel.org |
| May 28, 2026 | New CVE Received | kernel.org |