On Fri, Jul 12, 2019 at 03:13:38PM +0000, Raslan, KarimAllah wrote:
> On Fri, 2019-07-12 at 15:57 +0100, Will Deacon wrote:
> > On Fri, Jul 12, 2019 at 12:21:21AM +0200, KarimAllah Ahmed wrote:
> > > 
> > > diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
> > > index 3645f29..cdc3e8e 100644
> > > --- a/arch/arm64/mm/mmu.c
> > > +++ b/arch/arm64/mm/mmu.c
> > > @@ -78,7 +78,7 @@ void set_swapper_pgd(pgd_t *pgdp, pgd_t pgd)
> > >  pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn,
> > >                         unsigned long size, pgprot_t vma_prot)
> > >  {
> > > - if (!pfn_valid(pfn))
> > > + if (!memblock_is_memory(__pfn_to_phys(pfn)))
> > 
> > This looks broken to me, since it will end up returning 'true' for nomap
> > memory and we really don't want to map that using writeback attributes.
> 
> True, I will fix this by usingĀ memblock_is_map_memory instead. That said, do
> you have any concerns about this approach inĀ general?

If you do that, I don't understand why you need the patch at all given our
implementation of pfn_valid() in arch/arm64/mm/init.c.

Will

Reply via email to