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