All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] arm64: Further fixes to the linear address checking
@ 2021-02-01 19:06 Catalin Marinas
  2021-02-01 19:06   ` Catalin Marinas
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Catalin Marinas @ 2021-02-01 19:06 UTC (permalink / raw)
  To: Ard Biesheuvel, Linus Torvalds
  Cc: Mark Rutland, Vincenzo Frascino, Will Deacon, linux-arm-kernel

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(-)


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] arm64: Do not pass tagged addresses to __is_lm_address()
  2021-02-01 19:06 [PATCH 0/2] arm64: Further fixes to the linear address checking Catalin Marinas
@ 2021-02-01 19:06   ` Catalin Marinas
  2021-02-01 19:06 ` [PATCH 2/2] arm64: Use simpler arithmetics for the linear map macros Catalin Marinas
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 10+ messages in thread
From: Catalin Marinas @ 2021-02-01 19:06 UTC (permalink / raw)
  To: Ard Biesheuvel, Linus Torvalds
  Cc: linux-arm-kernel, Vincenzo Frascino, Will Deacon, Mark Rutland, stable

Commit 519ea6f1c82f ("arm64: Fix kernel address detection of
__is_lm_address()") fixed the incorrect validation of addresses below
PAGE_OFFSET. However, it no longer allowed tagged addresses to be passed
to virt_addr_valid().

Fix this by explicitly resetting the pointer tag prior to invoking
__is_lm_address(). This is consistent with the __lm_to_phys() macro.

Fixes: 519ea6f1c82f ("arm64: Fix kernel address detection of __is_lm_address()")
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: <stable@vger.kernel.org> # 5.4.x
Cc: Will Deacon <will@kernel.org>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
---
 arch/arm64/include/asm/memory.h | 2 +-
 arch/arm64/mm/physaddr.c        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
index 99d7e1494aaa..3c1aaa522cbd 100644
--- a/arch/arm64/include/asm/memory.h
+++ b/arch/arm64/include/asm/memory.h
@@ -332,7 +332,7 @@ static inline void *phys_to_virt(phys_addr_t x)
 #endif /* !CONFIG_SPARSEMEM_VMEMMAP || CONFIG_DEBUG_VIRTUAL */
 
 #define virt_addr_valid(addr)	({					\
-	__typeof__(addr) __addr = addr;					\
+	__typeof__(addr) __addr = __tag_reset(addr);			\
 	__is_lm_address(__addr) && pfn_valid(virt_to_pfn(__addr));	\
 })
 
diff --git a/arch/arm64/mm/physaddr.c b/arch/arm64/mm/physaddr.c
index 67a9ba9eaa96..cde44c13dda1 100644
--- a/arch/arm64/mm/physaddr.c
+++ b/arch/arm64/mm/physaddr.c
@@ -9,7 +9,7 @@
 
 phys_addr_t __virt_to_phys(unsigned long x)
 {
-	WARN(!__is_lm_address(x),
+	WARN(!__is_lm_address(__tag_reset(x)),
 	     "virt_to_phys used for non-linear address: %pK (%pS)\n",
 	      (void *)x,
 	      (void *)x);

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 1/2] arm64: Do not pass tagged addresses to __is_lm_address()
@ 2021-02-01 19:06   ` Catalin Marinas
  0 siblings, 0 replies; 10+ messages in thread
From: Catalin Marinas @ 2021-02-01 19:06 UTC (permalink / raw)
  To: Ard Biesheuvel, Linus Torvalds
  Cc: Mark Rutland, Vincenzo Frascino, Will Deacon, stable, linux-arm-kernel

Commit 519ea6f1c82f ("arm64: Fix kernel address detection of
__is_lm_address()") fixed the incorrect validation of addresses below
PAGE_OFFSET. However, it no longer allowed tagged addresses to be passed
to virt_addr_valid().

Fix this by explicitly resetting the pointer tag prior to invoking
__is_lm_address(). This is consistent with the __lm_to_phys() macro.

Fixes: 519ea6f1c82f ("arm64: Fix kernel address detection of __is_lm_address()")
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: <stable@vger.kernel.org> # 5.4.x
Cc: Will Deacon <will@kernel.org>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
---
 arch/arm64/include/asm/memory.h | 2 +-
 arch/arm64/mm/physaddr.c        | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
index 99d7e1494aaa..3c1aaa522cbd 100644
--- a/arch/arm64/include/asm/memory.h
+++ b/arch/arm64/include/asm/memory.h
@@ -332,7 +332,7 @@ static inline void *phys_to_virt(phys_addr_t x)
 #endif /* !CONFIG_SPARSEMEM_VMEMMAP || CONFIG_DEBUG_VIRTUAL */
 
 #define virt_addr_valid(addr)	({					\
-	__typeof__(addr) __addr = addr;					\
+	__typeof__(addr) __addr = __tag_reset(addr);			\
 	__is_lm_address(__addr) && pfn_valid(virt_to_pfn(__addr));	\
 })
 
diff --git a/arch/arm64/mm/physaddr.c b/arch/arm64/mm/physaddr.c
index 67a9ba9eaa96..cde44c13dda1 100644
--- a/arch/arm64/mm/physaddr.c
+++ b/arch/arm64/mm/physaddr.c
@@ -9,7 +9,7 @@
 
 phys_addr_t __virt_to_phys(unsigned long x)
 {
-	WARN(!__is_lm_address(x),
+	WARN(!__is_lm_address(__tag_reset(x)),
 	     "virt_to_phys used for non-linear address: %pK (%pS)\n",
 	      (void *)x,
 	      (void *)x);

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] arm64: Use simpler arithmetics for the linear map macros
  2021-02-01 19:06 [PATCH 0/2] arm64: Further fixes to the linear address checking Catalin Marinas
  2021-02-01 19:06   ` Catalin Marinas
@ 2021-02-01 19:06 ` Catalin Marinas
  2021-02-01 23:05   ` Ard Biesheuvel
  2021-02-01 19:33 ` [PATCH 0/2] arm64: Further fixes to the linear address checking Linus Torvalds
  2021-02-02 17:46 ` Catalin Marinas
  3 siblings, 1 reply; 10+ messages in thread
From: Catalin Marinas @ 2021-02-01 19:06 UTC (permalink / raw)
  To: Ard Biesheuvel, Linus Torvalds
  Cc: Mark Rutland, Vincenzo Frascino, Will Deacon, linux-arm-kernel

Because of the tagged addresses, the __is_lm_address() and
__lm_to_phys() macros grew to some harder to understand bitwise
operations using PAGE_OFFSET. Since these macros only accept untagged
addresses, use a simple subtract operation.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
---
 arch/arm64/include/asm/memory.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
index 3c1aaa522cbd..ff4732785c32 100644
--- a/arch/arm64/include/asm/memory.h
+++ b/arch/arm64/include/asm/memory.h
@@ -251,9 +251,9 @@ static inline const void *__tag_set(const void *addr, u8 tag)
  * lives in the [PAGE_OFFSET, PAGE_END) interval at the bottom of the
  * kernel's TTBR1 address range.
  */
-#define __is_lm_address(addr)	(((u64)(addr) ^ PAGE_OFFSET) < (PAGE_END - PAGE_OFFSET))
+#define __is_lm_address(addr)	(((u64)(addr) - PAGE_OFFSET) < (PAGE_END - PAGE_OFFSET))
 
-#define __lm_to_phys(addr)	(((addr) & ~PAGE_OFFSET) + PHYS_OFFSET)
+#define __lm_to_phys(addr)	(((addr) - PAGE_OFFSET) + PHYS_OFFSET)
 #define __kimg_to_phys(addr)	((addr) - kimage_voffset)
 
 #define __virt_to_phys_nodebug(x) ({					\

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] arm64: Further fixes to the linear address checking
  2021-02-01 19:06 [PATCH 0/2] arm64: Further fixes to the linear address checking Catalin Marinas
  2021-02-01 19:06   ` Catalin Marinas
  2021-02-01 19:06 ` [PATCH 2/2] arm64: Use simpler arithmetics for the linear map macros Catalin Marinas
@ 2021-02-01 19:33 ` Linus Torvalds
  2021-02-02 17:46 ` Catalin Marinas
  3 siblings, 0 replies; 10+ messages in thread
From: Linus Torvalds @ 2021-02-01 19:33 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: Mark Rutland, Vincenzo Frascino, Will Deacon, Ard Biesheuvel, Linux ARM

On Mon, Feb 1, 2021 at 11:06 AM Catalin Marinas <catalin.marinas@arm.com> wrote:
>
> 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.

Thanks, this looks very sane to me.

           Linus

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] arm64: Use simpler arithmetics for the linear map macros
  2021-02-01 19:06 ` [PATCH 2/2] arm64: Use simpler arithmetics for the linear map macros Catalin Marinas
@ 2021-02-01 23:05   ` Ard Biesheuvel
  2021-02-01 23:17     ` Linus Torvalds
  2021-02-02 11:36     ` Catalin Marinas
  0 siblings, 2 replies; 10+ messages in thread
From: Ard Biesheuvel @ 2021-02-01 23:05 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: Mark Rutland, Will Deacon, Vincenzo Frascino, Linus Torvalds, Linux ARM

On Mon, 1 Feb 2021 at 20:06, Catalin Marinas <catalin.marinas@arm.com> wrote:
>
> Because of the tagged addresses, the __is_lm_address() and
> __lm_to_phys() macros grew to some harder to understand bitwise
> operations using PAGE_OFFSET. Since these macros only accept untagged
> addresses, use a simple subtract operation.
>
> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will@kernel.org>
> Cc: Ard Biesheuvel <ardb@kernel.org>
> Cc: Mark Rutland <mark.rutland@arm.com>
> ---
>  arch/arm64/include/asm/memory.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
> index 3c1aaa522cbd..ff4732785c32 100644
> --- a/arch/arm64/include/asm/memory.h
> +++ b/arch/arm64/include/asm/memory.h
> @@ -251,9 +251,9 @@ static inline const void *__tag_set(const void *addr, u8 tag)
>   * lives in the [PAGE_OFFSET, PAGE_END) interval at the bottom of the
>   * kernel's TTBR1 address range.
>   */
> -#define __is_lm_address(addr)  (((u64)(addr) ^ PAGE_OFFSET) < (PAGE_END - PAGE_OFFSET))
> +#define __is_lm_address(addr)  (((u64)(addr) - PAGE_OFFSET) < (PAGE_END - PAGE_OFFSET))
>

Why still subtract PAGE_OFFSET on both sides of the comparison here?

> -#define __lm_to_phys(addr)     (((addr) & ~PAGE_OFFSET) + PHYS_OFFSET)
> +#define __lm_to_phys(addr)     (((addr) - PAGE_OFFSET) + PHYS_OFFSET)
>  #define __kimg_to_phys(addr)   ((addr) - kimage_voffset)
>
>  #define __virt_to_phys_nodebug(x) ({                                   \

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] arm64: Use simpler arithmetics for the linear map macros
  2021-02-01 23:05   ` Ard Biesheuvel
@ 2021-02-01 23:17     ` Linus Torvalds
  2021-02-02 11:36     ` Catalin Marinas
  1 sibling, 0 replies; 10+ messages in thread
From: Linus Torvalds @ 2021-02-01 23:17 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Mark Rutland, Catalin Marinas, Vincenzo Frascino, Will Deacon, Linux ARM

On Mon, Feb 1, 2021 at 3:05 PM Ard Biesheuvel <ardb@kernel.org> wrote:
>
> Why still subtract PAGE_OFFSET on both sides of the comparison here?

Because otherwise you'd have to use 'addr' twice in a macro, and write
it something like

   #define __is_lm_address(addr) \
        (((u64)(addr) >= PAGE_OFFSET) &&  < ((u64)(addr) < PAGE_END))

which then would require you to do a local variable in a statement
expression to avoid the double evaluation..

              Linus

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] arm64: Use simpler arithmetics for the linear map macros
  2021-02-01 23:05   ` Ard Biesheuvel
  2021-02-01 23:17     ` Linus Torvalds
@ 2021-02-02 11:36     ` Catalin Marinas
  2021-02-02 11:40       ` Ard Biesheuvel
  1 sibling, 1 reply; 10+ messages in thread
From: Catalin Marinas @ 2021-02-02 11:36 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Mark Rutland, Will Deacon, Vincenzo Frascino, Linus Torvalds, Linux ARM

On Tue, Feb 02, 2021 at 12:05:10AM +0100, Ard Biesheuvel wrote:
> On Mon, 1 Feb 2021 at 20:06, Catalin Marinas <catalin.marinas@arm.com> wrote:
> > Because of the tagged addresses, the __is_lm_address() and
> > __lm_to_phys() macros grew to some harder to understand bitwise
> > operations using PAGE_OFFSET. Since these macros only accept untagged
> > addresses, use a simple subtract operation.
> >
> > Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
> > Cc: Will Deacon <will@kernel.org>
> > Cc: Ard Biesheuvel <ardb@kernel.org>
> > Cc: Mark Rutland <mark.rutland@arm.com>
> > ---
> >  arch/arm64/include/asm/memory.h | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
> > index 3c1aaa522cbd..ff4732785c32 100644
> > --- a/arch/arm64/include/asm/memory.h
> > +++ b/arch/arm64/include/asm/memory.h
> > @@ -251,9 +251,9 @@ static inline const void *__tag_set(const void *addr, u8 tag)
> >   * lives in the [PAGE_OFFSET, PAGE_END) interval at the bottom of the
> >   * kernel's TTBR1 address range.
> >   */
> > -#define __is_lm_address(addr)  (((u64)(addr) ^ PAGE_OFFSET) < (PAGE_END - PAGE_OFFSET))
> > +#define __is_lm_address(addr)  (((u64)(addr) - PAGE_OFFSET) < (PAGE_END - PAGE_OFFSET))
> 
> Why still subtract PAGE_OFFSET on both sides of the comparison here?

Not sure what you mean (Linus replied on the local variable aspect).

With signed arithmetics, the above would be equivalent to addr < PAGE_END
but it wouldn't cover the addr < PAGE_OFFSET case. So we rely on the
unsigned wrap-around to detect this.

-- 
Catalin

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] arm64: Use simpler arithmetics for the linear map macros
  2021-02-02 11:36     ` Catalin Marinas
@ 2021-02-02 11:40       ` Ard Biesheuvel
  0 siblings, 0 replies; 10+ messages in thread
From: Ard Biesheuvel @ 2021-02-02 11:40 UTC (permalink / raw)
  To: Catalin Marinas
  Cc: Mark Rutland, Will Deacon, Vincenzo Frascino, Linus Torvalds, Linux ARM

On Tue, 2 Feb 2021 at 12:36, Catalin Marinas <catalin.marinas@arm.com> wrote:
>
> On Tue, Feb 02, 2021 at 12:05:10AM +0100, Ard Biesheuvel wrote:
> > On Mon, 1 Feb 2021 at 20:06, Catalin Marinas <catalin.marinas@arm.com> wrote:
> > > Because of the tagged addresses, the __is_lm_address() and
> > > __lm_to_phys() macros grew to some harder to understand bitwise
> > > operations using PAGE_OFFSET. Since these macros only accept untagged
> > > addresses, use a simple subtract operation.
> > >
> > > Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
> > > Cc: Will Deacon <will@kernel.org>
> > > Cc: Ard Biesheuvel <ardb@kernel.org>
> > > Cc: Mark Rutland <mark.rutland@arm.com>
> > > ---
> > >  arch/arm64/include/asm/memory.h | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
> > > index 3c1aaa522cbd..ff4732785c32 100644
> > > --- a/arch/arm64/include/asm/memory.h
> > > +++ b/arch/arm64/include/asm/memory.h
> > > @@ -251,9 +251,9 @@ static inline const void *__tag_set(const void *addr, u8 tag)
> > >   * lives in the [PAGE_OFFSET, PAGE_END) interval at the bottom of the
> > >   * kernel's TTBR1 address range.
> > >   */
> > > -#define __is_lm_address(addr)  (((u64)(addr) ^ PAGE_OFFSET) < (PAGE_END - PAGE_OFFSET))
> > > +#define __is_lm_address(addr)  (((u64)(addr) - PAGE_OFFSET) < (PAGE_END - PAGE_OFFSET))
> >
> > Why still subtract PAGE_OFFSET on both sides of the comparison here?
>
> Not sure what you mean (Linus replied on the local variable aspect).
>
> With signed arithmetics, the above would be equivalent to addr < PAGE_END
> but it wouldn't cover the addr < PAGE_OFFSET case. So we rely on the
> unsigned wrap-around to detect this.
>

Never mind, I just got confused. These changes look fine.

For the series,

Acled-by: Ard Biesheuvel <ardb@kernel.org>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] arm64: Further fixes to the linear address checking
  2021-02-01 19:06 [PATCH 0/2] arm64: Further fixes to the linear address checking Catalin Marinas
                   ` (2 preceding siblings ...)
  2021-02-01 19:33 ` [PATCH 0/2] arm64: Further fixes to the linear address checking Linus Torvalds
@ 2021-02-02 17:46 ` Catalin Marinas
  3 siblings, 0 replies; 10+ messages in thread
From: Catalin Marinas @ 2021-02-02 17:46 UTC (permalink / raw)
  To: Ard Biesheuvel, Linus Torvalds, Catalin Marinas
  Cc: Mark Rutland, Vincenzo Frascino, Will Deacon, linux-arm-kernel

On Mon, 1 Feb 2021 19:06:32 +0000, Catalin Marinas wrote:
> 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).
> 
> [...]

Applied to arm64 (for-next/fixes), thanks!

[1/2] arm64: Do not pass tagged addresses to __is_lm_address()
      https://git.kernel.org/arm64/c/91cb2c8b072e
[2/2] arm64: Use simpler arithmetics for the linear map macros
      https://git.kernel.org/arm64/c/22cd5edb2d9c

-- 
Catalin


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-02-02 17:48 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-01 19:06 [PATCH 0/2] arm64: Further fixes to the linear address checking Catalin Marinas
2021-02-01 19:06 ` [PATCH 1/2] arm64: Do not pass tagged addresses to __is_lm_address() Catalin Marinas
2021-02-01 19:06   ` Catalin Marinas
2021-02-01 19:06 ` [PATCH 2/2] arm64: Use simpler arithmetics for the linear map macros Catalin Marinas
2021-02-01 23:05   ` Ard Biesheuvel
2021-02-01 23:17     ` Linus Torvalds
2021-02-02 11:36     ` Catalin Marinas
2021-02-02 11:40       ` Ard Biesheuvel
2021-02-01 19:33 ` [PATCH 0/2] arm64: Further fixes to the linear address checking Linus Torvalds
2021-02-02 17:46 ` Catalin Marinas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.