diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2022-04-06 15:41:39 +0300 |
---|---|---|
committer | Matthew Wilcox (Oracle) <willy@infradead.org> | 2022-04-07 16:43:41 +0300 |
commit | 83a8441f8d8e2e47e9bf2aead3aca625ab95d5ad (patch) | |
tree | 45c1465bb7ca23e8ff8520c827f39aca9cb5d0e4 /tools/perf/util/scripting-engines/trace-event-python.c | |
parent | 3e732ebf7316ac83e8562db7e64cc68aec390a18 (diff) | |
download | linux-83a8441f8d8e2e47e9bf2aead3aca625ab95d5ad.tar.xz |
mm/huge_memory: Avoid calling pmd_page() on a non-leaf PMD
Calling try_to_unmap() with TTU_SPLIT_HUGE_PMD and a folio that's not
mapped by a PMD causes oopses on arm64 because we now call page_folio()
on an invalid page. pmd_page() returns a valid page for non-leaf PMDs on
some architectures, so this bug escaped testing before now. Fix this bug
by delaying the call to pmd_page() until after we know the PMD is a leaf.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=215804
Fixes: af28a988b313 ("mm/huge_memory: Convert __split_huge_pmd() to take a folio")
Reported-by: Zorro Lang <zlang@redhat.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Tested-by: Zorro Lang <zlang@redhat.com>
Diffstat (limited to 'tools/perf/util/scripting-engines/trace-event-python.c')
0 files changed, 0 insertions, 0 deletions