[PATCH 0/3] Fix CONT-PTE/PMD size hugetlb issue when unmapping or migrating

Baolin Wang
2022-04-29T08:14:40Z

Hi,

Now migrating a hugetlb page or unmapping a poisoned hugetlb page, we'll
use ptep_clear_flush() and set_pte_at() to nuke the page table entry
and remap it, and this is incorrect for CONT-PTE or CONT-PMD size hugetlb
page, which will cause potential data consistent issue. This patch set
will change to use hugetlb related APIs to fix this issue, please find
details in each patch. Thanks.

Baolin Wang (3):
mm: change huge_ptep_clear_flush() to return the original pte
mm: rmap: Fix CONT-PTE/PMD size hugetlb issue when migration
mm: rmap: Fix CONT-PTE/PMD size hugetlb issue when unmapping

arch/arm64/include/asm/hugetlb.h | 4 +--
arch/arm64/mm/hugetlbpage.c | 12 ++++----
arch/ia64/include/asm/hugetlb.h | 4 +--
arch/mips/include/asm/hugetlb.h | 9 ++++--
arch/parisc/include/asm/hugetlb.h | 4 +--
arch/powerpc/include/asm/hugetlb.h | 9 ++++--
arch/s390/include/asm/hugetlb.h | 6 ++--
arch/sh/include/asm/hugetlb.h | 4 +--
arch/sparc/include/asm/hugetlb.h | 4 +--
include/asm-generic/hugetlb.h | 4 +--
mm/rmap.c | 58 +++++++++++++++++++++++---------------
11 files changed, 67 insertions(+), 51 deletions(-)

--
1.8.3.1