Re: [PATCH v17 21/23] arm64: mm: Convert mm/dump.c to use walk_page_range()

From: Ard Biesheuvel
Date: Mon Feb 17 2020 - 05:16:39 EST


On Mon, 17 Feb 2020 at 11:01, Steven Price <steven.price@xxxxxxx> wrote:
>
> On 16/02/2020 16:25, Ard Biesheuvel wrote:
> > On Wed, 18 Dec 2019 at 17:25, Steven Price <steven.price@xxxxxxx> wrote:
> >>
> >> Now walk_page_range() can walk kernel page tables, we can switch the
> >> arm64 ptdump code over to using it, simplifying the code.
> >>
> >> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx>
> >> Signed-off-by: Steven Price <steven.price@xxxxxxx>
> >
> > I did not realize this at the time, but this patch removes the ability
> > to dump the EFI page tables on 32-bit ARM. Was that intentional?
>
> No that wasn't intentional, but I can't instantly see how this change
> affects 32-bit ARM.
>
> <snip (files in arch/arm64)>
> >> diff --git a/drivers/firmware/efi/arm-runtime.c b/drivers/firmware/efi/arm-runtime.c
> >> index 899b803842bb..9dda2602c862 100644
> >> --- a/drivers/firmware/efi/arm-runtime.c
> >> +++ b/drivers/firmware/efi/arm-runtime.c
> >> @@ -27,7 +27,7 @@
> >>
> >> extern u64 efi_system_table;
> >>
> >> -#ifdef CONFIG_ARM64_PTDUMP_DEBUGFS
> >> +#if defined(CONFIG_PTDUMP_DEBUGFS) && defined(CONFIG_ARM64)
>
> The previous define was *ARM64* so should never have been true when
> building for arm. The new condition should be equivalent (arm64 &&
> ptdump enabled).
>
> Am I missing something?
>

Not at all, I just got confused.

IIRC we did have support for dumping the EFI pages tables on 32-bit
ARM at *some* point, but it obviously wasn't your patch that removed
it.

Apologies for the noise.