diff options
author | Rik van Riel <riel@surriel.com> | 2023-10-05 23:59:07 -0400 |
---|---|---|
committer | Andrew Morton <akpm@linux-foundation.org> | 2023-10-18 12:12:41 -0700 |
commit | bf4916922c60f43efaa329744b3eef539aa6a2b2 (patch) | |
tree | a1c192aed48cd3bda5ca9572a64e5a5d21747e1f /mm/highmem.c | |
parent | 92fe9dcbe4e109a7ce6bab3e452210a35b0ab493 (diff) |
hugetlbfs: extend hugetlb_vma_lock to private VMAs
Extend the locking scheme used to protect shared hugetlb mappings from
truncate vs page fault races, in order to protect private hugetlb mappings
(with resv_map) against MADV_DONTNEED.
Add a read-write semaphore to the resv_map data structure, and use that
from the hugetlb_vma_(un)lock_* functions, in preparation for closing the
race between MADV_DONTNEED and page faults.
Link: https://lkml.kernel.org/r/20231006040020.3677377-3-riel@surriel.com
Fixes: 04ada095dcfc ("hugetlb: don't delete vma_lock in hugetlb MADV_DONTNEED processing")
Signed-off-by: Rik van Riel <riel@surriel.com>
Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Muchun Song <muchun.song@linux.dev>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/highmem.c')
0 files changed, 0 insertions, 0 deletions