[1/2] arm64: memory: fix flipped VA space fallout
diff mbox series

Message ID 20190814132848.24295-2-mark.rutland@arm.com
State New
Headers show
Series
  • arm64: memory: VA_START fixups
Related show

Commit Message

Mark Rutland Aug. 14, 2019, 1:28 p.m. UTC
VA_START used to be the start of the TTBR1 address space, but now it's a
point midway though. In a couple of places we still use VA_START to get
the start of the TTBR1 address space, so let's fix these up to use
PAGE_OFFSET instead.

Fixes: 14c127c957c1c607 ("arm64: mm: Flip kernel VA space")
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Steve Capper <steve.capper@arm.com>
Cc: Will Deacon <will@kernel.org>
---
 arch/arm64/mm/dump.c  | 2 +-
 arch/arm64/mm/fault.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comments

Steve Capper Aug. 14, 2019, 2:51 p.m. UTC | #1
On Wed, Aug 14, 2019 at 02:28:47PM +0100, Mark Rutland wrote:
> VA_START used to be the start of the TTBR1 address space, but now it's a
> point midway though. In a couple of places we still use VA_START to get
> the start of the TTBR1 address space, so let's fix these up to use
> PAGE_OFFSET instead.
> 
> Fixes: 14c127c957c1c607 ("arm64: mm: Flip kernel VA space")
> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Steve Capper <steve.capper@arm.com>
> Cc: Will Deacon <will@kernel.org>

Reviewed-by: Steve Capper <steve.capper@arm.com>

> ---
>  arch/arm64/mm/dump.c  | 2 +-
>  arch/arm64/mm/fault.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/mm/dump.c b/arch/arm64/mm/dump.c
> index 6ec75305828e..8e10b4ba215a 100644
> --- a/arch/arm64/mm/dump.c
> +++ b/arch/arm64/mm/dump.c
> @@ -400,7 +400,7 @@ void ptdump_check_wx(void)
>  		.check_wx = true,
>  	};
>  
> -	walk_pgd(&st, &init_mm, VA_START);
> +	walk_pgd(&st, &init_mm, PAGE_OFFSET);
>  	note_page(&st, 0, 0, 0);
>  	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",
> diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
> index 75eff57bd9ef..bb4e4f3fffd8 100644
> --- a/arch/arm64/mm/fault.c
> +++ b/arch/arm64/mm/fault.c
> @@ -109,7 +109,7 @@ static inline bool is_ttbr0_addr(unsigned long addr)
>  static inline bool is_ttbr1_addr(unsigned long addr)
>  {
>  	/* TTBR1 addresses may have a tag if KASAN_SW_TAGS is in use */
> -	return arch_kasan_reset_tag(addr) >= VA_START;
> +	return arch_kasan_reset_tag(addr) >= PAGE_OFFSET;
>  }
>  
>  /*
> -- 
> 2.11.0
>

Patch
diff mbox series

diff --git a/arch/arm64/mm/dump.c b/arch/arm64/mm/dump.c
index 6ec75305828e..8e10b4ba215a 100644
--- a/arch/arm64/mm/dump.c
+++ b/arch/arm64/mm/dump.c
@@ -400,7 +400,7 @@  void ptdump_check_wx(void)
 		.check_wx = true,
 	};
 
-	walk_pgd(&st, &init_mm, VA_START);
+	walk_pgd(&st, &init_mm, PAGE_OFFSET);
 	note_page(&st, 0, 0, 0);
 	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",
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index 75eff57bd9ef..bb4e4f3fffd8 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -109,7 +109,7 @@  static inline bool is_ttbr0_addr(unsigned long addr)
 static inline bool is_ttbr1_addr(unsigned long addr)
 {
 	/* TTBR1 addresses may have a tag if KASAN_SW_TAGS is in use */
-	return arch_kasan_reset_tag(addr) >= VA_START;
+	return arch_kasan_reset_tag(addr) >= PAGE_OFFSET;
 }
 
 /*