linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/3] fix double page fault on arm64
@ 2019-09-18 13:19 Jia He
  2019-09-18 13:19 ` [PATCH v4 1/3] arm64: cpufeature: introduce helper cpu_has_hw_af() Jia He
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Jia He @ 2019-09-18 13:19 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon, Mark Rutland, James Morse,
	Marc Zyngier, Matthew Wilcox, Kirill A. Shutemov,
	linux-arm-kernel, linux-kernel, linux-mm, Suzuki Poulose
  Cc: Ralph Campbell, Jia He, Andrew Morton, Anshuman Khandual,
	Jun Yao, Kaly Xin, Jérôme Glisse, Punit Agrawal,
	hejianet, Thomas Gleixner, Robin Murphy, Alex Van Brunt

When we tested pmdk unit test vmmalloc_fork TEST1 in arm64 guest, there
will be a double page fault in __copy_from_user_inatomic of cow_user_page.

As told by Catalin: "On arm64 without hardware Access Flag, copying from
user will fail because the pte is old and cannot be marked young. So we
always end up with zeroed page after fork() + CoW for pfn mappings. we
don't always have a hardware-managed access flag on arm64."

Changes
v4: introduce cpu_has_hw_af (Suzuki)
    bail out if !pte_same (Kirill)
v3: add vmf->ptl lock/unlock (by Kirill A. Shutemov)
    add arch_faults_on_old_pte (Matthew, Catalin)
v2: remove FAULT_FLAG_WRITE when setting pte access flag (by Catalin)

Jia He (3):
  arm64: cpufeature: introduce helper cpu_has_hw_af()
  arm64: mm: implement arch_faults_on_old_pte() on arm64
  mm: fix double page fault on arm64 if PTE_AF is cleared

 arch/arm64/include/asm/cpufeature.h |  1 +
 arch/arm64/include/asm/pgtable.h    | 12 ++++++++++
 arch/arm64/kernel/cpufeature.c      |  6 +++++
 mm/memory.c                         | 35 ++++++++++++++++++++++++-----
 4 files changed, 49 insertions(+), 5 deletions(-)

-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2019-09-19 15:51 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-18 13:19 [PATCH v4 0/3] fix double page fault on arm64 Jia He
2019-09-18 13:19 ` [PATCH v4 1/3] arm64: cpufeature: introduce helper cpu_has_hw_af() Jia He
2019-09-18 14:20   ` Matthew Wilcox
2019-09-18 16:49     ` Catalin Marinas
2019-09-18 14:20   ` Suzuki K Poulose
2019-09-18 16:45     ` Catalin Marinas
2019-09-19  1:55       ` Justin He (Arm Technology China)
2019-09-18 13:19 ` [PATCH v4 2/3] arm64: mm: implement arch_faults_on_old_pte() on arm64 Jia He
2019-09-18 13:19 ` [PATCH v4 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared Jia He
2019-09-18 14:00   ` Kirill A. Shutemov
2019-09-18 18:00     ` Catalin Marinas
2019-09-19 15:00       ` Kirill A. Shutemov
2019-09-19 15:41         ` Catalin Marinas
2019-09-19 15:51           ` Kirill A. Shutemov
2019-09-19  2:16     ` Jia He
2019-09-19 14:57       ` Kirill A. Shutemov
2019-09-19 15:02         ` Justin He (Arm Technology China)
2019-09-18 19:35   ` kbuild test robot
2019-09-19  1:46     ` Justin He (Arm Technology China)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).