Re: [PATCH v2] x86/mm: Fix incorrect for loop count calculation in sync_global_pgds
From: Ingo Molnar
Date: Mon May 01 2017 - 15:32:47 EST
* Baoquan He <bhe@xxxxxxxxxx> wrote:
> arch/x86/mm/init_64.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
> index 15173d3..dfa9edb 100644
> --- a/arch/x86/mm/init_64.c
> +++ b/arch/x86/mm/init_64.c
> @@ -96,7 +96,9 @@ void sync_global_pgds(unsigned long start, unsigned long end)
> {
> unsigned long address;
>
> - for (address = start; address <= end; address += PGDIR_SIZE) {
> + for (address = start; address <= end;
> + address = ALIGN(address + 1, PGDIR_SIZE)) {
> +
> const pgd_t *pgd_ref = pgd_offset_k(address);
> struct page *page;
This patch does not apply cleanly to tip:master.
You can avoid the col80 problems by renaming 'address' to the canonical 'addr'
name, the loop will become:
for (addr = start; addr <= end; addr = ALIGN(addr + 1, PGDIR_SIZE)) {
... which fits into 80 cols.
Thanks,
Ingo