[PATCH] kasan: fix mention for KASAN_HW_TAGS

Chanho Min posted 1 patch 2 years, 7 months ago
There is a newer version of this series
lib/Kconfig.kasan | 2 --
1 file changed, 2 deletions(-)
[PATCH] kasan: fix mention for KASAN_HW_TAGS
Posted by Chanho Min 2 years, 7 months ago
This patch removes description of the KASAN_HW_TAGS's memory consumption.
KASAN_HW_TAGS does not set 1/32nd shadow memory.

Signed-off-by: Chanho Min <chanho.min@lge.com>
---
 lib/Kconfig.kasan | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
index fdca89c05745..5be1740234b9 100644
--- a/lib/Kconfig.kasan
+++ b/lib/Kconfig.kasan
@@ -124,8 +124,6 @@ config KASAN_HW_TAGS
 	  Supported only on arm64 CPUs starting from ARMv8.5 and relies on
 	  Memory Tagging Extension and Top Byte Ignore.
 
-	  Consumes about 1/32nd of available memory.
-
 	  May potentially introduce problems related to pointer casting and
 	  comparison, as it embeds a tag into the top byte of each pointer.
 
-- 
2.17.1
Re: [PATCH] kasan: fix mention for KASAN_HW_TAGS
Posted by Dmitry Vyukov 2 years, 7 months ago
On Mon, 19 Jun 2023 at 12:12, Chanho Min <chanho.min@lge.com> wrote:
>
> This patch removes description of the KASAN_HW_TAGS's memory consumption.
> KASAN_HW_TAGS does not set 1/32nd shadow memory.

The hardware still allocates/uses shadow in MTE.
Though, it may be 1/16-th, not sure.

> Signed-off-by: Chanho Min <chanho.min@lge.com>
> ---
>  lib/Kconfig.kasan | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
> index fdca89c05745..5be1740234b9 100644
> --- a/lib/Kconfig.kasan
> +++ b/lib/Kconfig.kasan
> @@ -124,8 +124,6 @@ config KASAN_HW_TAGS
>           Supported only on arm64 CPUs starting from ARMv8.5 and relies on
>           Memory Tagging Extension and Top Byte Ignore.
>
> -         Consumes about 1/32nd of available memory.
> -
>           May potentially introduce problems related to pointer casting and
>           comparison, as it embeds a tag into the top byte of each pointer.
>
> --
> 2.17.1
>
Re: [PATCH] kasan: fix mention for KASAN_HW_TAGS
Posted by Marco Elver 2 years, 7 months ago
On Mon, 19 Jun 2023 at 12:15, Dmitry Vyukov <dvyukov@google.com> wrote:
> On Mon, 19 Jun 2023 at 12:12, Chanho Min <chanho.min@lge.com> wrote:
> >
> > This patch removes description of the KASAN_HW_TAGS's memory consumption.
> > KASAN_HW_TAGS does not set 1/32nd shadow memory.
>
> The hardware still allocates/uses shadow in MTE.
> Though, it may be 1/16-th, not sure.

I think the point is that it depends on the hardware implementation of
MTE. There are a range of possibilities, but enabling KASAN_HW_TAGS
doesn't consume any extra memory for tags itself if the hardware has
to enable MTE and provision tag space via firmware to begin with.

> > Signed-off-by: Chanho Min <chanho.min@lge.com>

I think you just have to be a bit clearer in the commit description,
just briefly mentioning how/where the tag space is allocated in
hardware that do support MTE. Then removing this line is probably
fair, if KASAN_HW_TAGS isn't the direct reason for tag memory being
allocated.
Re: [PATCH] kasan: fix mention for KASAN_HW_TAGS
Posted by Andrey Konovalov 2 years, 7 months ago
On Mon, Jun 19, 2023 at 1:36 PM Marco Elver <elver@google.com> wrote:
>
> On Mon, 19 Jun 2023 at 12:15, Dmitry Vyukov <dvyukov@google.com> wrote:
> > On Mon, 19 Jun 2023 at 12:12, Chanho Min <chanho.min@lge.com> wrote:
> > >
> > > This patch removes description of the KASAN_HW_TAGS's memory consumption.
> > > KASAN_HW_TAGS does not set 1/32nd shadow memory.
> >
> > The hardware still allocates/uses shadow in MTE.
> > Though, it may be 1/16-th, not sure.

1/32 is correct: 4 bits for every 16 bytes.

> I think the point is that it depends on the hardware implementation of
> MTE. There are a range of possibilities, but enabling KASAN_HW_TAGS
> doesn't consume any extra memory for tags itself if the hardware has
> to enable MTE and provision tag space via firmware to begin with.

Yeah, saying that HW_TAGS consumes memory is wrong.

But it might reasonable to spell out what happens with memory in the
config options description. Something like:

"Does not consume memory by itself but relies on the 1/32nd of
available memory being reserved by the firmware when MTE is enabled."
[PATCH v2] kasan: fix mention for KASAN_HW_TAGS
Posted by Chanho Min 2 years, 7 months ago
This patch fixes description of the KASAN_HW_TAGS's memory consumption.
KASAN_HW_TAGS are dependent on the HW implementation and are not reserved
from system memory like shadow memory.

Suggested-by: Andrey Konovalov <andreyknvl@gmail.com>
Signed-off-by: Chanho Min <chanho.min@lge.com>
---
 lib/Kconfig.kasan | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
index fdca89c05745..f8f9e12510b7 100644
--- a/lib/Kconfig.kasan
+++ b/lib/Kconfig.kasan
@@ -124,7 +124,8 @@ config KASAN_HW_TAGS
 	  Supported only on arm64 CPUs starting from ARMv8.5 and relies on
 	  Memory Tagging Extension and Top Byte Ignore.
 
-	  Consumes about 1/32nd of available memory.
+	  Does not consume memory by itself but relies on the 1/32nd of
+	  available memory being reserved by the firmware when MTE is enabled.
 
 	  May potentially introduce problems related to pointer casting and
 	  comparison, as it embeds a tag into the top byte of each pointer.
-- 
2.17.1
Re: [PATCH v2] kasan: fix mention for KASAN_HW_TAGS
Posted by Andrey Konovalov 2 years, 7 months ago
On Fri, Jun 23, 2023 at 9:58 AM Chanho Min <chanho.min@lge.com> wrote:
>
> This patch fixes description of the KASAN_HW_TAGS's memory consumption.
> KASAN_HW_TAGS are dependent on the HW implementation and are not reserved
> from system memory like shadow memory.
>
> Suggested-by: Andrey Konovalov <andreyknvl@gmail.com>
> Signed-off-by: Chanho Min <chanho.min@lge.com>
> ---
>  lib/Kconfig.kasan | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/Kconfig.kasan b/lib/Kconfig.kasan
> index fdca89c05745..f8f9e12510b7 100644
> --- a/lib/Kconfig.kasan
> +++ b/lib/Kconfig.kasan
> @@ -124,7 +124,8 @@ config KASAN_HW_TAGS
>           Supported only on arm64 CPUs starting from ARMv8.5 and relies on
>           Memory Tagging Extension and Top Byte Ignore.
>
> -         Consumes about 1/32nd of available memory.
> +         Does not consume memory by itself but relies on the 1/32nd of
> +         available memory being reserved by the firmware when MTE is enabled.
>
>           May potentially introduce problems related to pointer casting and
>           comparison, as it embeds a tag into the top byte of each pointer.
> --
> 2.17.1
>

Reviewed-by: Andrey Konovalov <andreyknvl@gmail.com>

Thank you!