Description
In the Linux kernel, the following vulnerability has been resolved: vfio/type1: prevent underflow of locked_vm via exec() When a vfio container is preserved across exec, the task does not change, but it gets a new mm with locked_vm=0, and loses the count from existing dma mappings. If the user later unmaps a dma mapping, locked_vm underflows to a large unsigned value, and a subsequent dma map request fails with ENOMEM in __account_locked_vm. To avoid underflow, grab and save the mm at the time a dma is mapped. Use that mm when adjusting locked_vm, rather than re-acquiring the saved task's mm, which may have changed. If the saved mm is dead, do nothing. locked_vm is incremented for existing mappings in a subsequent patch.
Product status
73fa0d10d077d9521ee2dace2307ae2c9a965336 (git) before 5a271242716846cc016736fb76be2b40ee49b0c3
73fa0d10d077d9521ee2dace2307ae2c9a965336 (git) before eafb81c50da899dd80b340c841277acc4a1945b7
73fa0d10d077d9521ee2dace2307ae2c9a965336 (git) before a6b2aabe664098d5cf877ae0fd96459464a30e17
73fa0d10d077d9521ee2dace2307ae2c9a965336 (git) before b0790dff0760b7734cf0961f497ad64628ca550b
73fa0d10d077d9521ee2dace2307ae2c9a965336 (git) before 046eca5018f8a5dd1dc2cedf87fb5843b9ea3026
3.6
Any version before 3.6
5.10.173 (semver)
5.15.99 (semver)
6.1.16 (semver)
6.2.3 (semver)
6.3 (original_commit_for_fix)
References
git.kernel.org/...c/5a271242716846cc016736fb76be2b40ee49b0c3
git.kernel.org/...c/eafb81c50da899dd80b340c841277acc4a1945b7
git.kernel.org/...c/a6b2aabe664098d5cf877ae0fd96459464a30e17
git.kernel.org/...c/b0790dff0760b7734cf0961f497ad64628ca550b
git.kernel.org/...c/046eca5018f8a5dd1dc2cedf87fb5843b9ea3026