Message ID | 20191103123559.8866-1-yamada.masahiro@socionext.com |
---|---|
State | Accepted |
Commit | 32d1870877ba7675c642e903e5ef71c82a245325 |
Headers | show |
Series | arm64: mm: simplify the page end calculation in __create_pgd_mapping() | expand |
On Sun, Nov 03, 2019 at 09:35:58PM +0900, Masahiro Yamada wrote: > Calculate the page-aligned end address more simply. > > The local variable, "length" is unneeded. > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> > --- > > arch/arm64/mm/mmu.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c > index 60c929f3683b..a9f541912289 100644 > --- a/arch/arm64/mm/mmu.c > +++ b/arch/arm64/mm/mmu.c > @@ -338,7 +338,7 @@ static void __create_pgd_mapping(pgd_t *pgdir, phys_addr_t phys, > phys_addr_t (*pgtable_alloc)(int), > int flags) > { > - unsigned long addr, length, end, next; > + unsigned long addr, end, next; > pgd_t *pgdp = pgd_offset_raw(pgdir, virt); > > /* > @@ -350,9 +350,8 @@ static void __create_pgd_mapping(pgd_t *pgdir, phys_addr_t phys, > > phys &= PAGE_MASK; > addr = virt & PAGE_MASK; > - length = PAGE_ALIGN(size + (virt & ~PAGE_MASK)); > + end = PAGE_ALIGN(virt + size); > > - end = addr + length; While looking at this, I got confused by the old code and thought that there was an existing bug, but I now see that's not the case, and the old and new code are equivalent. The new code looks cleaner, and leaves less room for confusion, so I think that's preferable: Reviewed-by: Mark Rutland <mark.rutland@arm.com> Mark. > do { > next = pgd_addr_end(addr, end); > alloc_init_pud(pgdp, addr, next, phys, prot, pgtable_alloc, > -- > 2.17.1 >
On Sun, Nov 03, 2019 at 09:35:58PM +0900, Masahiro Yamada wrote: > Calculate the page-aligned end address more simply. > > The local variable, "length" is unneeded. > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Queued for 5.5. Thanks. -- Catalin
diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c index 60c929f3683b..a9f541912289 100644 --- a/arch/arm64/mm/mmu.c +++ b/arch/arm64/mm/mmu.c @@ -338,7 +338,7 @@ static void __create_pgd_mapping(pgd_t *pgdir, phys_addr_t phys, phys_addr_t (*pgtable_alloc)(int), int flags) { - unsigned long addr, length, end, next; + unsigned long addr, end, next; pgd_t *pgdp = pgd_offset_raw(pgdir, virt); /* @@ -350,9 +350,8 @@ static void __create_pgd_mapping(pgd_t *pgdir, phys_addr_t phys, phys &= PAGE_MASK; addr = virt & PAGE_MASK; - length = PAGE_ALIGN(size + (virt & ~PAGE_MASK)); + end = PAGE_ALIGN(virt + size); - end = addr + length; do { next = pgd_addr_end(addr, end); alloc_init_pud(pgdp, addr, next, phys, prot, pgtable_alloc,
Calculate the page-aligned end address more simply. The local variable, "length" is unneeded. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- arch/arm64/mm/mmu.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) -- 2.17.1