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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 28, 2019 at 10:10:48AM -0500, Sasha Levin wrote:
> From: Will Deacon <will.deacon@xxxxxxx>
> 
> [ 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@xxxxxx>
> Tested-by: Qian Cai <cai@xxxxxx>
> Acked-by: Steve Capper <steve.capper@xxxxxxx>
> Tested-by: Steve Capper <steve.capper@xxxxxxx>
> Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> ---
>  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".

Will



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux