[PATCH 0/3] Fix CONT-PTE/PMD size hugetlb issue when unmapping or migrating
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: akpm@xxxxxxxxxxxxxxxxxxxx, mike.kravetz@xxxxxxxxxx, catalin.marinas@xxxxxxx, will@xxxxxxxxxx
- Subject: [PATCH 0/3] Fix CONT-PTE/PMD size hugetlb issue when unmapping or migrating
- From: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
- Date: Fri, 29 Apr 2022 16:14:40 +0800
- Cc: tsbogend@xxxxxxxxxxxxxxxx, James.Bottomley@xxxxxxxxxxxxxxxxxxxxx, deller@xxxxxx, mpe@xxxxxxxxxxxxxx, benh@xxxxxxxxxxxxxxxxxxx, paulus@xxxxxxxxx, hca@xxxxxxxxxxxxx, gor@xxxxxxxxxxxxx, agordeev@xxxxxxxxxxxxx, borntraeger@xxxxxxxxxxxxx, svens@xxxxxxxxxxxxx, ysato@xxxxxxxxxxxxx, dalias@xxxxxxxx, davem@xxxxxxxxxxxxx, arnd@xxxxxxxx, baolin.wang@xxxxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-ia64@xxxxxxxxxxxxxxx, linux-mips@xxxxxxxxxxxxxxx, linux-parisc@xxxxxxxxxxxxxxx, linuxppc-dev@xxxxxxxxxxxxxxxx, linux-s390@xxxxxxxxxxxxxxx, linux-sh@xxxxxxxxxxxxxxx, sparclinux@xxxxxxxxxxxxxxx, linux-arch@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx
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
[Index of Archives]
[Linux Kernel]
[Sparc Linux]
[DCCP]
[Linux ARM]
[Yosemite News]
[Linux SCSI]
[Linux x86_64]
[Linux for Ham Radio]