Re: [PATCH] arm: Extend the check for RAM in /dev/mem

From: Will Deacon
Date: Fri Jul 12 2019 - 11:34:35 EST


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