Revision e700898fa075c69b3ae02b702ab57fb75e1a82ec authored by Mike Kravetz on 12 December 2022, 23:50:41 UTC, committed by Andrew Morton on 21 December 2022, 22:31:52 UTC
Commit bbff39cc6cbc ("hugetlb: allocate vma lock for all sharable vmas")
removed the pmd sharable checks in the vma lock helper routines.  However,
it left the functional version of helper routines behind #ifdef
CONFIG_ARCH_WANT_HUGE_PMD_SHARE.  Therefore, the vma lock is not being
used for sharable vmas on architectures that do not support pmd sharing. 
On these architectures, a potential fault/truncation race is exposed that
could leave pages in a hugetlb file past i_size until the file is removed.

Move the functional vma lock helpers outside the ifdef, and remove the
non-functional stubs.  Since the vma lock is not just for pmd sharing,
rename the routine __vma_shareable_flags_pmd.

Link: https://lkml.kernel.org/r/20221212235042.178355-1-mike.kravetz@oracle.com
Fixes: bbff39cc6cbc ("hugetlb: allocate vma lock for all sharable vmas")
Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
Reviewed-by: Miaohe Lin <linmiaohe@huawei.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: James Houghton <jthoughton@google.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Muchun Song <songmuchun@bytedance.com>
Cc: Naoya Horiguchi <naoya.horiguchi@linux.dev>
Cc: Peter Xu <peterx@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent 7ba594d
History
File Mode Size
events
xen-pciback
xenbus
xenfs
Kconfig -rw-r--r-- 11.9 KB
Makefile -rw-r--r-- 1.7 KB
acpi.c -rw-r--r-- 2.7 KB
arm-device.c -rw-r--r-- 4.2 KB
balloon.c -rw-r--r-- 19.4 KB
biomerge.c -rw-r--r-- 617 bytes
cpu_hotplug.c -rw-r--r-- 2.3 KB
dbgp.c -rw-r--r-- 1.2 KB
efi.c -rw-r--r-- 8.5 KB
evtchn.c -rw-r--r-- 16.1 KB
features.c -rw-r--r-- 1.2 KB
gntalloc.c -rw-r--r-- 14.8 KB
gntdev-common.h -rw-r--r-- 2.4 KB
gntdev-dmabuf.c -rw-r--r-- 20.1 KB
gntdev-dmabuf.h -rw-r--r-- 943 bytes
gntdev.c -rw-r--r-- 29.8 KB
grant-dma-iommu.c -rw-r--r-- 1.7 KB
grant-dma-ops.c -rw-r--r-- 10.0 KB
grant-table.c -rw-r--r-- 41.6 KB
manage.c -rw-r--r-- 8.3 KB
mcelog.c -rw-r--r-- 10.2 KB
mem-reservation.c -rw-r--r-- 3.1 KB
pci.c -rw-r--r-- 7.4 KB
pcpu.c -rw-r--r-- 8.4 KB
platform-pci.c -rw-r--r-- 4.2 KB
privcmd-buf.c -rw-r--r-- 4.1 KB
privcmd.c -rw-r--r-- 22.5 KB
privcmd.h -rw-r--r-- 180 bytes
pvcalls-back.c -rw-r--r-- 29.8 KB
pvcalls-front.c -rw-r--r-- 32.0 KB
pvcalls-front.h -rw-r--r-- 826 bytes
swiotlb-xen.c -rw-r--r-- 11.5 KB
sys-hypervisor.c -rw-r--r-- 12.5 KB
time.c -rw-r--r-- 4.2 KB
unpopulated-alloc.c -rw-r--r-- 5.5 KB
xen-acpi-pad.c -rw-r--r-- 3.7 KB
xen-acpi-processor.c -rw-r--r-- 16.9 KB
xen-balloon.c -rw-r--r-- 7.1 KB
xen-front-pgdir-shbuf.c -rw-r--r-- 14.2 KB
xen-scsiback.c -rw-r--r-- 48.0 KB
xlate_mmu.c -rw-r--r-- 7.8 KB

back to top