Re: [PATCH v4 4/5] lib/ioremap: Ensure phys_addr actually corresponds to a physical address

From: Will Deacon
Date: Tue Nov 27 2018 - 07:12:29 EST


On Mon, Nov 26, 2018 at 11:00:10AM -0800, Sean Christopherson wrote:
> On Mon, Nov 26, 2018 at 05:07:46PM +0000, Will Deacon wrote:
> > The current ioremap() code uses a phys_addr variable at each level of
> > page table, which is confusingly offset by subtracting the base virtual
> > address being mapped so that adding the current virtual address back on
> > when iterating through the page table entries gives back the corresponding
> > physical address.
> >
> > This is fairly confusing and results in all users of phys_addr having to
> > add the current virtual address back on. Instead, this patch just updates
> > phys_addr when iterating over the page table entries, ensuring that it's
> > always up-to-date and doesn't require explicit offsetting.
> >
> > Cc: Chintan Pandya <cpandya@xxxxxxxxxxxxxx>
> > Cc: Toshi Kani <toshi.kani@xxxxxxx>
> > Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > Cc: Michal Hocko <mhocko@xxxxxxxx>
> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > Cc: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> > Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
>
> Tested-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>
> Reviewed-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx>

Thanks, Sean. I think Andrew can queue these now.

Will