We can upgrade pte access (R -> RW transition) via mprotect. We need to make sure we follow the recommended pte update sequence as outlined in commit: bd5050e38aec ("powerpc/mm/radix: Change pte relax sequence to handle nest MMU hang") for such updates. This patch series do that. Changes from V1: * Restrict ths only for R->RW upgrade. We don't need to do this for Autonuma * Restrict this only for radix translation mode. Aneesh Kumar K.V (5): mm: Update ptep_modify_prot_start/commit to take vm_area_struct as arg mm: update ptep_modify_prot_commit to take old pte value as arg arch/powerpc/mm: Nest MMU workaround for mprotect RW upgrade. mm/hugetlb: Add prot_modify_start/commit sequence for hugetlb update arch/powerpc/mm/hugetlb: NestMMU workaround for hugetlb mprotect RW upgrade arch/powerpc/include/asm/book3s/64/hugetlb.h | 12 ++++++++ arch/powerpc/include/asm/book3s/64/pgtable.h | 18 ++++++++++++ arch/powerpc/include/asm/book3s/64/radix.h | 4 +++ arch/powerpc/mm/hugetlbpage-radix.c | 17 ++++++++++++ arch/powerpc/mm/hugetlbpage.c | 29 ++++++++++++++++++++ arch/powerpc/mm/pgtable-book3s64.c | 27 ++++++++++++++++++ arch/powerpc/mm/pgtable-radix.c | 18 ++++++++++++ arch/s390/include/asm/pgtable.h | 5 ++-- arch/s390/mm/pgtable.c | 8 ++++-- arch/x86/include/asm/paravirt.h | 9 ++++-- fs/proc/task_mmu.c | 8 ++++-- include/asm-generic/pgtable.h | 10 +++---- include/linux/hugetlb.h | 18 ++++++++++++ mm/hugetlb.c | 8 ++++-- mm/memory.c | 8 +++--- mm/mprotect.c | 6 ++-- 16 files changed, 179 insertions(+), 26 deletions(-) -- 2.19.1