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

From: Raslan, KarimAllah
Date: Fri Jul 12 2019 - 11:47:09 EST


On Fri, 2019-07-12 at 16:34 +0100, Will Deacon wrote:
> 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.

Oops! Right, I guess that would not work either.

Let me dig into a better way to do that.

>
> Will



Amazon Development Center Germany GmbH
Krausenstr. 38
10117 Berlin
Geschaeftsfuehrung: Christian Schlaeger, Ralf Herbrich
Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B
Sitz: Berlin
Ust-ID: DE 289 237 879