Re: [PATCH -next] arm64/mm/dump: fix a compilation error

From: Steven Price
Date: Fri Jan 10 2020 - 10:34:55 EST


On Fri, Jan 10, 2020 at 02:51:12PM +0000, Qian Cai wrote:
> The linux-next commit "x86: mm: avoid allocating struct mm_struct on the
> stack" [1] introduced a compilation error with "arm64: mm: convert
> mm/dump.c to use walk_page_range()" [2]. Fixed it by using the new API.
>
> arch/arm64/mm/dump.c:326:38: error: too few arguments to function call,
> expected 3, have 2
> ptdump_walk_pgd(&st.ptdump, info->mm);
> ~~~~~~~~~~~~~~~ ^
> ./include/linux/ptdump.h:20:1: note: 'ptdump_walk_pgd' declared here
> void ptdump_walk_pgd(struct ptdump_state *st, struct mm_struct *mm,
> pgd_t *pgd);
> ^
> arch/arm64/mm/dump.c:364:38: error: too few arguments to function call,
> expected 3, have 2
> ptdump_walk_pgd(&st.ptdump, &init_mm);
> ~~~~~~~~~~~~~~~ ^
> ./include/linux/ptdump.h:20:1: note: 'ptdump_walk_pgd' declared here
> void ptdump_walk_pgd(struct ptdump_state *st, struct mm_struct *mm,
> pgd_t *pgd);
> ^
> 2 errors generated.
>
> [1] http://lkml.kernel.org/r/20200108145710.34314-1-steven.price@xxxxxxx

Actually this was in the patch I originally posted - somehow it got
lost when Andrew picked it up.

> [2] http://lkml.kernel.org/r/20191218162402.45610-22-steven.price@xxxxxxx
>
> Signed-off-by: Qian Cai <cai@xxxxxx>

Since this matches what I originally wrote... ;)

Reviewed-by: Steven Price <steven.price@xxxxxxx>

Steve

> ---
> arch/arm64/mm/dump.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/mm/dump.c b/arch/arm64/mm/dump.c
> index ef4b3ca1e058..860c00ec8bd3 100644
> --- a/arch/arm64/mm/dump.c
> +++ b/arch/arm64/mm/dump.c
> @@ -323,7 +323,7 @@ void ptdump_walk(struct seq_file *s, struct ptdump_info *info)
> }
> };
>
> - ptdump_walk_pgd(&st.ptdump, info->mm);
> + ptdump_walk_pgd(&st.ptdump, info->mm, NULL);
> }
>
> static void ptdump_initialize(void)
> @@ -361,7 +361,7 @@ void ptdump_check_wx(void)
> }
> };
>
> - ptdump_walk_pgd(&st.ptdump, &init_mm);
> + ptdump_walk_pgd(&st.ptdump, &init_mm, NULL);
>
> if (st.wx_pages || st.uxn_pages)
> pr_warn("Checked W+X mappings: FAILED, %lu W+X pages found, %lu non-UXN pages found\n",
> --
> 2.21.0 (Apple Git-122.2)
>