diff options
author | Vishal Moola (Oracle) <[email protected]> | 2024-04-15 14:17:47 -0700 |
---|---|---|
committer | Andrew Morton <[email protected]> | 2024-04-24 19:34:26 -0700 |
commit | 37641efaa3faa4b8292aba4bbd7d71c0b703a239 (patch) | |
tree | ba4426bd53e97e37951e37cfbe757ddd7998ecfe /tools/testing/selftests/bpf/progs/test_autoload.c | |
parent | 682886ec69d22363819a83ddddd5d66cb5c791e1 (diff) |
hugetlb: check for anon_vma prior to folio allocation
Commit 9acad7ba3e25 ("hugetlb: use vmf_anon_prepare() instead of
anon_vma_prepare()") may bailout after allocating a folio if we do not
hold the mmap lock. When this occurs, vmf_anon_prepare() will release the
vma lock. Hugetlb then attempts to call restore_reserve_on_error(), which
depends on the vma lock being held.
We can move vmf_anon_prepare() prior to the folio allocation in order to
avoid calling restore_reserve_on_error() without the vma lock.
Link: https://lkml.kernel.org/r/ZiFqSrSRLhIV91og@fedora
Fixes: 9acad7ba3e25 ("hugetlb: use vmf_anon_prepare() instead of anon_vma_prepare()")
Reported-by: [email protected]
Signed-off-by: Vishal Moola (Oracle) <[email protected]>
Cc: Muchun Song <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'tools/testing/selftests/bpf/progs/test_autoload.c')
0 files changed, 0 insertions, 0 deletions