Bug 1226594 (CVE-2024-38543)

Summary: VUL-0: CVE-2024-38543: kernel: lib/test_hmm.c: handle src_pfns and dst_pfns allocation failure
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Security Team bot <security-team>
Status: RESOLVED WONTFIX QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: camila.matos, mhocko, vbabka
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/411438/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-38543:4.4:(AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-06-20 11:21:52 UTC
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.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-38543
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2024/CVE-2024-38543.mbox
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
https://www.cve.org/CVERecord?id=CVE-2024-38543
Comment 1 Michal Hocko 2024-06-21 16:48:37 UTC
This is a selftest driver for HMM. We do compile it on SLE15-SP5 which is the only one that would need the fix. I really do not see any actual security implications that we should be worried about. CCing Vlastimil for awareness. I would go with WONTFIX.
Comment 2 Vlastimil Babka 2024-06-21 17:46:57 UTC
Ack