Commit 69eadd6a authored by Guilherme Giacomo Simoes's avatar Guilherme Giacomo Simoes Committed by Andrew Morton
Browse files

mm: page-flags-layout.h: change the KASAN_TAG_WIDTH for HW_TAGS

KASAN_TAG_WIDTH is 8 bits for both (HW_TAGS and SW_TAGS), but for HW_TAGS
the KASAN_TAG_WIDTH can be 4 bits bits because due to the design of the
MTE the memory words for storing metadata only need 4 bits.  Change the
preprocessor define KASAN_TAG_WIDTH for check if SW_TAGS is define, so
KASAN_TAG_WIDTH should be 8 bits, but if HW_TAGS is define, so
KASAN_TAG_WIDTH should be 4 bits to save a few flags bits.

Link: https://lkml.kernel.org/r/20250428201409.5482-1-trintaeoitogc@gmail.com


Signed-off-by: default avatarGuilherme Giacomo Simoes <trintaeoitogc@gmail.com>
Suggested-by: default avatarAndrey Konovalov <andreyknvl@gmail.com>
Reviewed-by: default avatarAndrey Konovalov <andreyknvl@gmail.com>
Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 3e43e260
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -72,8 +72,10 @@
#define NODE_NOT_IN_PAGE_FLAGS	1
#endif

#if defined(CONFIG_KASAN_SW_TAGS) || defined(CONFIG_KASAN_HW_TAGS)
#if defined(CONFIG_KASAN_SW_TAGS)
#define KASAN_TAG_WIDTH 8
#elif defined(CONFIG_KASAN_HW_TAGS)
#define KASAN_TAG_WIDTH 4
#else
#define KASAN_TAG_WIDTH 0
#endif