Re: [PATCH AUTOSEL 4.19 47/64] arm64: ptdump: Don't iterate kernel page tables using PTRS_PER_PXX

Sasha Levin
2019-03-11T17:16:23Z

On Thu, Feb 28, 2019 at 03:18:22PM +0000, Will Deacon wrote:
>On Thu, Feb 28, 2019 at 10:10:48AM -0500, Sasha Levin wrote:
>> From: Will Deacon <will.deacon@arm.com>
>>
>> [ Upstream commit d23c808c6fc6132e812690648e14c0d6b0cbe273 ]
>>
>> When 52-bit virtual addressing is enabled for userspace
>> (CONFIG_ARM64_USER_VA_BITS_52=y), the kernel continues to utilise 48-bit
>> virtual addressing in TTBR1. Consequently, PTRS_PER_PGD reflects the
>> larger page table size for userspace and the pgd pointer for kernel page
>> tables is offset before being written to TTBR1.
>>
>> This means that we can't use PTRS_PER_PGD to iterate over kernel page
>> tables unless we apply the same offset, which is fiddly to get right and
>> leads to some non-idiomatic walking code. Instead, just follow the usual
>> pattern when walking page tables by using a while loop driven by
>> pXd_offset() and pXd_addr_end().
>>
>> Reported-by: Qian Cai <cai@lca.pw>
>> Tested-by: Qian Cai <cai@lca.pw>
>> Acked-by: Steve Capper <steve.capper@arm.com>
>> Tested-by: Steve Capper <steve.capper@arm.com>
>> Signed-off-by: Will Deacon <will.deacon@arm.com>
>> Signed-off-by: Sasha Levin <sashal@kernel.org>
>> ---
>> arch/arm64/mm/dump.c | 59 ++++++++++++++++++++++----------------------
>> 1 file changed, 29 insertions(+), 30 deletions(-)
>
>This isn't needed for any released kernels. In future, is there a tag I can
>use to prevent a patch from being picked up by the AUTOSEL bot? That way you
>can distinguish "I forgot to cc stable" from "I deliberately didn't cc
>stable".

I've dropped it, thanks!

Generally the bot will look into a Fixes: tag, and if the commit pointed
to it is not in the tree then the patch won't be picked up.

--
Thanks,
Sasha