Home

Description

In the Linux kernel, the following vulnerability has been resolved: mshv_vtl: Fix vmemmap_shift exceeding MAX_FOLIO_ORDER When registering VTL0 memory via MSHV_ADD_VTL0_MEMORY, the kernel computes pgmap->vmemmap_shift as the number of trailing zeros in the OR of start_pfn and last_pfn, intending to use the largest compound page order both endpoints are aligned to. However, this value is not clamped to MAX_FOLIO_ORDER, so a sufficiently aligned range (e.g. physical range [0x800000000000, 0x800080000000), corresponding to start_pfn=0x800000000 with 35 trailing zeros) can produce a shift larger than what memremap_pages() accepts, triggering a WARN and returning -EINVAL: WARNING: ... memremap_pages+0x512/0x650 requested folio size unsupported The MAX_FOLIO_ORDER check was added by commit 646b67d57589 ("mm/memremap: reject unreasonable folio/compound page sizes in memremap_pages()"). Fix this by clamping vmemmap_shift to MAX_FOLIO_ORDER so we always request the largest order the kernel supports, in those cases, rather than an out-of-range value. Also fix the error path to propagate the actual error code from devm_memremap_pages() instead of hard-coding -EFAULT, which was masking the real -EINVAL return.

PUBLISHED Reserved 2026-05-01 | Published 2026-05-08 | Updated 2026-05-08 | Assigner Linux

Product status

Default status
unaffected

7bfe3b8ea6e30437e01fcb8e4f56ef6e4d986d0f (git) before a142ca4b6481e71498712800b20e0c0fcf02843b
affected

7bfe3b8ea6e30437e01fcb8e4f56ef6e4d986d0f (git) before 404cd6bffe17e25e0f94ed2775ffdd6cd10ac3fd
affected

Default status
affected

6.19
affected

Any version before 6.19
unaffected

7.0.2 (semver)
unaffected

7.1-rc1 (original_commit_for_fix)
unaffected

References

git.kernel.org/...c/a142ca4b6481e71498712800b20e0c0fcf02843b

git.kernel.org/...c/404cd6bffe17e25e0f94ed2775ffdd6cd10ac3fd

cve.org (CVE-2026-43348)

nvd.nist.gov (CVE-2026-43348)

Download JSON