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.
https://git.kernel.org/stable/c/ce47e8ead9a72834cc68431d53f8092ce69bebb7
https://git.kernel.org/stable/c/c2af060d1c18beaec56351cf9c9bcbbc5af341a3
https://git.kernel.org/stable/c/65e528a69cb3ed4a286c45b4afba57461c8b5b33
https://git.kernel.org/stable/c/3b20d18f475bd17309db640dbe7d7c7ebb5bc2bc
https://git.kernel.org/stable/c/1a21fdeea502658e315bd939409b755974f4fb64