Messages in this thread | | | Date | Mon, 23 Sep 2019 17:18:25 +0100 | From | Catalin Marinas <> | 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
> + * 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
> + * 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.
> +} > +#define arch_faults_on_old_pte arch_faults_on_old_pte
Otherwise,
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
| |