lib/Kconfig.kasan | 2 -- 1 file changed, 2 deletions(-)
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
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 >
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.
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."
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
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!
© 2016 - 2026 Red Hat, Inc.