Description
In the Linux kernel, the following vulnerability has been resolved: mshv: Fix error handling in mshv_region_pin The current error handling has two issues: First, pin_user_pages_fast() can return a short pin count (less than requested but greater than zero) when it cannot pin all requested pages. This is treated as success, leading to partially pinned regions being used, which causes memory corruption. Second, when an error occurs mid-loop, already pinned pages from the current batch are not properly accounted for before calling mshv_region_invalidate_pages(), causing a page reference leak. Treat short pins as errors and fix partial batch accounting before cleanup.
Product status
621191d709b14882270dfd8ea5d7d6cdfebe2c35 (git) before a7d149152bc5a9119854331c57be35ad31fdf5cc
621191d709b14882270dfd8ea5d7d6cdfebe2c35 (git) before c0e296f257671ba10249630fe58026f29e4804d9
6.15
Any version before 6.15
6.19.12 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/a7d149152bc5a9119854331c57be35ad31fdf5cc
git.kernel.org/...c/c0e296f257671ba10249630fe58026f29e4804d9