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
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 6.6 KB |
Makefile | -rw-r--r-- | 1.6 KB |
alauda.c | -rw-r--r-- | 32.4 KB |
cypress_atacb.c | -rw-r--r-- | 8.0 KB |
datafab.c | -rw-r--r-- | 19.2 KB |
debug.c | -rw-r--r-- | 6.7 KB |
debug.h | -rw-r--r-- | 1.6 KB |
ene_ub6250.c | -rw-r--r-- | 67.0 KB |
freecom.c | -rw-r--r-- | 15.1 KB |
initializers.c | -rw-r--r-- | 2.8 KB |
initializers.h | -rw-r--r-- | 1.3 KB |
isd200.c | -rw-r--r-- | 44.7 KB |
jumpshot.c | -rw-r--r-- | 17.2 KB |
karma.c | -rw-r--r-- | 5.4 KB |
onetouch.c | -rw-r--r-- | 7.6 KB |
option_ms.c | -rw-r--r-- | 3.8 KB |
option_ms.h | -rw-r--r-- | 137 bytes |
protocol.c | -rw-r--r-- | 5.2 KB |
protocol.h | -rw-r--r-- | 1.6 KB |
realtek_cr.c | -rw-r--r-- | 26.2 KB |
scsiglue.c | -rw-r--r-- | 19.9 KB |
scsiglue.h | -rw-r--r-- | 1.3 KB |
sddr09.c | -rw-r--r-- | 44.1 KB |
sddr55.c | -rw-r--r-- | 24.5 KB |
shuttle_usbat.c | -rw-r--r-- | 48.2 KB |
sierra_ms.c | -rw-r--r-- | 5.2 KB |
sierra_ms.h | -rw-r--r-- | 137 bytes |
transport.c | -rw-r--r-- | 43.7 KB |
transport.h | -rw-r--r-- | 3.3 KB |
uas-detect.h | -rw-r--r-- | 4.3 KB |
uas.c | -rw-r--r-- | 33.7 KB |
unusual_alauda.h | -rw-r--r-- | 509 bytes |
unusual_cypress.h | -rw-r--r-- | 770 bytes |
unusual_datafab.h | -rw-r--r-- | 2.4 KB |
unusual_devs.h | -rw-r--r-- | 68.8 KB |
unusual_ene_ub6250.h | -rw-r--r-- | 315 bytes |
unusual_freecom.h | -rw-r--r-- | 372 bytes |
unusual_isd200.h | -rw-r--r-- | 1.1 KB |
unusual_jumpshot.h | -rw-r--r-- | 416 bytes |
unusual_karma.h | -rw-r--r-- | 351 bytes |
unusual_onetouch.h | -rw-r--r-- | 684 bytes |
unusual_realtek.h | -rw-r--r-- | 1.2 KB |
unusual_sddr09.h | -rw-r--r-- | 1.1 KB |
unusual_sddr55.h | -rw-r--r-- | 848 bytes |
unusual_uas.h | -rw-r--r-- | 5.4 KB |
unusual_usbat.h | -rw-r--r-- | 815 bytes |
usb.c | -rw-r--r-- | 30.6 KB |
usb.h | -rw-r--r-- | 7.0 KB |
usual-tables.c | -rw-r--r-- | 2.8 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...