Description
In the Linux kernel, the following vulnerability has been resolved: lib/test_hmm.c: handle src_pfns and dst_pfns allocation failure The kcalloc() in dmirror_device_evict_chunk() will return null if the physical memory has run out. As a result, if src_pfns or dst_pfns is dereferenced, the null pointer dereference bug will happen. Moreover, the device is going away. If the kcalloc() fails, the pages mapping a chunk could not be evicted. So add a __GFP_NOFAIL flag in kcalloc(). Finally, as there is no need to have physically contiguous memory, Switch kcalloc() to kvcalloc() in order to avoid failing allocations.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
b2ef9f5a5cb37643ca5def3516c546457074b882 to < 1a21fdeea502658e315bd939409b755974f4fb64affectedb2ef9f5a5cb37643ca5def3516c546457074b882 to < 65e528a69cb3ed4a286c45b4afba57461c8b5b33affectedb2ef9f5a5cb37643ca5def3516c546457074b882 to < ce47e8ead9a72834cc68431d53f8092ce69bebb7affectedb2ef9f5a5cb37643ca5def3516c546457074b882 to < 3b20d18f475bd17309db640dbe7d7c7ebb5bc2bcaffectedb2ef9f5a5cb37643ca5def3516c546457074b882 to < c2af060d1c18beaec56351cf9c9bcbbc5af341a3affected
Linux Linux
Default version status: affected
5.8affected0 to < 5.8unaffected6.1.93 to ≤ 6.1.*unaffected6.6.33 to ≤ 6.6.*unaffected6.8.12 to ≤ 6.8.*unaffected6.9.3 to ≤ 6.9.*unaffected6.10 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/1a21fdeea502658e315bd939409b755974f4fb64 ↗
- https://git.kernel.org/stable/c/65e528a69cb3ed4a286c45b4afba57461c8b5b33 ↗
- https://git.kernel.org/stable/c/ce47e8ead9a72834cc68431d53f8092ce69bebb7 ↗
- https://git.kernel.org/stable/c/3b20d18f475bd17309db640dbe7d7c7ebb5bc2bc ↗
- https://git.kernel.org/stable/c/c2af060d1c18beaec56351cf9c9bcbbc5af341a3 ↗