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-- | 10.9 KB |
Makefile | -rw-r--r-- | 1.7 KB |
da8xx_remoteproc.c | -rw-r--r-- | 10.1 KB |
imx_dsp_rproc.c | -rw-r--r-- | 29.0 KB |
imx_rproc.c | -rw-r--r-- | 22.6 KB |
imx_rproc.h | -rw-r--r-- | 822 bytes |
ingenic_rproc.c | -rw-r--r-- | 5.9 KB |
keystone_remoteproc.c | -rw-r--r-- | 13.8 KB |
meson_mx_ao_arc.c | -rw-r--r-- | 7.1 KB |
mtk_common.h | -rw-r--r-- | 3.6 KB |
mtk_scp.c | -rw-r--r-- | 25.4 KB |
mtk_scp_ipi.c | -rw-r--r-- | 5.2 KB |
omap_remoteproc.c | -rw-r--r-- | 36.5 KB |
omap_remoteproc.h | -rw-r--r-- | 2.1 KB |
pru_rproc.c | -rw-r--r-- | 25.3 KB |
pru_rproc.h | -rw-r--r-- | 1.3 KB |
qcom_common.c | -rw-r--r-- | 13.6 KB |
qcom_common.h | -rw-r--r-- | 1.9 KB |
qcom_pil_info.c | -rw-r--r-- | 3.0 KB |
qcom_pil_info.h | -rw-r--r-- | 205 bytes |
qcom_q6v5.c | -rw-r--r-- | 9.5 KB |
qcom_q6v5.h | -rw-r--r-- | 1.2 KB |
qcom_q6v5_adsp.c | -rw-r--r-- | 17.5 KB |
qcom_q6v5_mss.c | -rw-r--r-- | 57.4 KB |
qcom_q6v5_pas.c | -rw-r--r-- | 23.0 KB |
qcom_q6v5_wcss.c | -rw-r--r-- | 28.2 KB |
qcom_sysmon.c | -rw-r--r-- | 19.5 KB |
qcom_wcnss.c | -rw-r--r-- | 16.1 KB |
qcom_wcnss.h | -rw-r--r-- | 530 bytes |
qcom_wcnss_iris.c | -rw-r--r-- | 4.7 KB |
rcar_rproc.c | -rw-r--r-- | 4.6 KB |
remoteproc_cdev.c | -rw-r--r-- | 2.9 KB |
remoteproc_core.c | -rw-r--r-- | 71.0 KB |
remoteproc_coredump.c | -rw-r--r-- | 13.5 KB |
remoteproc_debugfs.c | -rw-r--r-- | 12.7 KB |
remoteproc_elf_helpers.h | -rw-r--r-- | 3.4 KB |
remoteproc_elf_loader.c | -rw-r--r-- | 11.1 KB |
remoteproc_internal.h | -rw-r--r-- | 5.5 KB |
remoteproc_sysfs.c | -rw-r--r-- | 7.8 KB |
remoteproc_virtio.c | -rw-r--r-- | 15.0 KB |
st_remoteproc.c | -rw-r--r-- | 11.4 KB |
st_slim_rproc.c | -rw-r--r-- | 8.3 KB |
stm32_rproc.c | -rw-r--r-- | 21.4 KB |
ti_k3_dsp_remoteproc.c | -rw-r--r-- | 24.7 KB |
ti_k3_r5_remoteproc.c | -rw-r--r-- | 52.2 KB |
ti_sci_proc.h | -rw-r--r-- | 2.5 KB |
wkup_m3_rproc.c | -rw-r--r-- | 6.5 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...