[PATCH v5 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-19 Thread Jia He
When we tested pmdk unit test [1] vmmalloc_fork TEST1 in arm64 guest, there will be a double page fault in __copy_from_user_inatomic of cow_user_page. Below call trace is from arm64 do_page_fault for debugging purpose [ 110.016195] Call trace: [ 110.016826] do_page_fault+0x5a4/0x690 [ 110.0178

Re: [PATCH v5 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-19 Thread Catalin Marinas
On Fri, Sep 20, 2019 at 12:12:04AM +0800, Jia He wrote: > @@ -2152,7 +2163,29 @@ static inline void cow_user_page(struct page *dst, > struct page *src, unsigned lo >*/ > if (unlikely(!src)) { > void *kaddr = kmap_atomic(dst); > - void __user *uaddr = (void _

RE: [PATCH v5 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared

2019-09-19 Thread Justin He (Arm Technology China)
echnology > China) > Subject: Re: [PATCH v5 3/3] mm: fix double page fault on arm64 if PTE_AF > is cleared > > On Fri, Sep 20, 2019 at 12:12:04AM +0800, Jia He wrote: > > @@ -2152,7 +2163,29 @@ static inline void cow_user_page(struct page > *dst, struct page *src, unsigned