In the Linux kernel, the following vulnerability has been resolved: mm/memfd: fix information leak in hugetlb folios When allocating hugetlb folios for memfd, three initialization steps are missing: 1. Folios are not zeroed, leading to kernel memory disclosure to userspace 2. Folios are not marked uptodate before adding to page cache 3. hugetlbfaultmutex is not taken before hugetlbaddtopagecache() The memfd allocation path bypasses the normal page fault handler (hugetlbnopage) which would handle all of these initialization steps. This is problematic especially for udmabuf use cases where folios are pinned and directly accessed by userspace via DMA. Fix by matching the initialization pattern used in hugetlbnopage(): - Zero the folio using foliozerouser() which is optimized for huge pages - Mark it uptodate with foliomarkuptodate() - Take hugetlbfaultmutex before adding to page cache to prevent races The foliozerouser() change also fixes a potential security issue where uninitialized kernel memory could be disclosed to userspace through read() or mmap() operations on the memfd.