> -----Original Message-----
> From: Catalin Marinas <catalin.mari...@arm.com>
> Sent: 2019年9月24日 0:18
> To: Justin He (Arm Technology China) <justin...@arm.com>
> Cc: Will Deacon <w...@kernel.org>; Mark Rutland
> <mark.rutl...@arm.com>; James Morse <james.mo...@arm.com>; Marc
> Zyngier <m...@kernel.org>; Matthew Wilcox <wi...@infradead.org>; Kirill A.
> Shutemov <kirill.shute...@linux.intel.com>; linux-arm-
> ker...@lists.infradead.org; linux-kernel@vger.kernel.org; linux-
> m...@kvack.org; Suzuki Poulose <suzuki.poul...@arm.com>; Punit
> Agrawal <punitagra...@gmail.com>; Anshuman Khandual
> <anshuman.khand...@arm.com>; Alex Van Brunt
> <avanbr...@nvidia.com>; Robin Murphy <robin.mur...@arm.com>;
> Thomas Gleixner <t...@linutronix.de>; Andrew Morton <akpm@linux-
> foundation.org>; Jérôme Glisse <jgli...@redhat.com>; Ralph Campbell
> <rcampb...@nvidia.com>; hejia...@gmail.com; Kaly Xin (Arm Technology
> China) <kaly....@arm.com>; nd <n...@arm.com>
> Subject: Re: [PATCH v8 2/3] arm64: mm: implement
> arch_faults_on_old_pte() on arm64
> 
> On Sat, Sep 21, 2019 at 09:50:53PM +0800, Jia He wrote:
> > diff --git a/arch/arm64/include/asm/pgtable.h
> b/arch/arm64/include/asm/pgtable.h
> > index e09760ece844..4a9939615e41 100644
> > --- a/arch/arm64/include/asm/pgtable.h
> > +++ b/arch/arm64/include/asm/pgtable.h
> > @@ -868,6 +868,18 @@ static inline void update_mmu_cache(struct
> vm_area_struct *vma,
> >  #define phys_to_ttbr(addr) (addr)
> >  #endif
> >
> > +/*
> > + * On arm64 without hardware Access Flag, copying fromuser will fail
> because
>                                                      ^^^^^^^^
>                                                    from user
> 

Ok
> > + * 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
>                                                 ^^
>                                               We
> 

Ok
> > + * hardware-managed access flag on arm64.
> > + */
> > +static inline bool arch_faults_on_old_pte(void)
> > +{
> > +   return !cpu_has_hw_af();
> 
> I saw an early incarnation of your patch having a
> WARN_ON(preemptible()). I think we need this back just in case this
> function will be used elsewhere in the future.

Okay

--
Cheers,
Justin (Jia He)


> 
> > +}
> > +#define arch_faults_on_old_pte arch_faults_on_old_pte
> 
> Otherwise,
> 
> Reviewed-by: Catalin Marinas <catalin.mari...@arm.com>

Reply via email to