mbox series

[V4,0/5] NestMMU pte upgrade workaround for mprotect

Message ID 20181218094137.13732-1-aneesh.kumar@linux.ibm.com (mailing list archive)
Headers show
Series NestMMU pte upgrade workaround for mprotect | expand

Message

Aneesh Kumar K.V Dec. 18, 2018, 9:41 a.m. UTC
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 V3:
* Build fix for x86

Changes from V2:
* Update commit message for patch 4
* use radix tlb flush routines directly.

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-hash64.c         | 27 ++++++++++++++++++++
 arch/powerpc/mm/hugetlbpage-radix.c          | 17 ++++++++++++
 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              | 13 +++++-----
 arch/x86/include/asm/paravirt_types.h        |  5 ++--
 arch/x86/xen/mmu.h                           |  4 +--
 arch/x86/xen/mmu_pv.c                        |  8 +++---
 fs/proc/task_mmu.c                           |  8 +++---
 include/asm-generic/pgtable.h                | 18 ++++++-------
 include/linux/hugetlb.h                      | 20 +++++++++++++++
 mm/hugetlb.c                                 |  8 +++---
 mm/memory.c                                  |  8 +++---
 mm/mprotect.c                                |  6 ++---
 19 files changed, 193 insertions(+), 41 deletions(-)

Comments

Christoph Hellwig Dec. 18, 2018, 5:17 p.m. UTC | #1
This series seems to miss patches 1 and 2.
Benjamin Herrenschmidt Dec. 18, 2018, 10:30 p.m. UTC | #2
On Tue, 2018-12-18 at 09:17 -0800, Christoph Hellwig wrote:
> This series seems to miss patches 1 and 2.

Odd, I got them...

Ben.
Aneesh Kumar K.V Dec. 19, 2018, 3:18 a.m. UTC | #3
Christoph Hellwig <hch@infradead.org> writes:

> This series seems to miss patches 1 and 2.

https://lore.kernel.org/linuxppc-dev/20181218094137.13732-2-aneesh.kumar@linux.ibm.com/
https://lore.kernel.org/linuxppc-dev/20181218094137.13732-3-aneesh.kumar@linux.ibm.com/

-aneesh