[PATCH 0/2] arm64: Further fixes to the linear address checking
catalin.marinas at arm.com
Mon Feb 1 14:06:32 EST 2021
There some history to virt_addr_valid() that goes back to 5.4. It seems
to have been ok prior to this kernel, however, the VA reshuffling in
commit 14c127c957c1 ("arm64: mm: Flip kernel VA space") broke it. The
subsequent fix 68dd8ef32162 ("arm64: memory: Fix virt_addr_valid() using
__is_lm_address()") partially addressed it but it left virt_addr_valid()
returning true for user addresses (or NULL).
The recent commit 519ea6f1c82f ("arm64: Fix kernel address detection of
__is_lm_address()") fixed the NULL checking but broke the
virt_addr_valid() macro for tagged addresses.
The first patch attempts to fix virt_addr_valid() macro for tagged
addresses. The second patch replaces the bitwise operations with a
subtract. The resulting image is slightly smaller.
Catalin Marinas (2):
arm64: Do not pass tagged addresses to __is_lm_address()
arm64: Use simpler arithmetics for the linear map macros
arch/arm64/include/asm/memory.h | 6 +++---
arch/arm64/mm/physaddr.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
More information about the linux-arm-kernel