]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mm, kasan: use KASAN_TAG_KERNEL instead of 0xff
authorAndrey Konovalov <andreyknvl@google.com>
Thu, 21 Dec 2023 20:04:44 +0000 (21:04 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 29 Dec 2023 19:58:44 +0000 (11:58 -0800)
Use the KASAN_TAG_KERNEL marco instead of open-coding 0xff in the mm code.
This macro is provided by include/linux/kasan-tags.h, which does not
include any other headers, so it's safe to include it into mm.h without
causing circular include dependencies.

Link: https://lkml.kernel.org/r/71db9087b0aebb6c4dccbc609cc0cd50621533c7.1703188911.git.andreyknvl@google.com
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Marco Elver <elver@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/kasan.h
include/linux/mm.h
mm/page_alloc.c

index d49e3d4c099efec78e3e2eb116fe260a33b5efdc..dbb06d789e74e675db1dbb0a719bc2a56b8dda4a 100644 (file)
@@ -4,6 +4,7 @@
 
 #include <linux/bug.h>
 #include <linux/kasan-enabled.h>
+#include <linux/kasan-tags.h>
 #include <linux/kernel.h>
 #include <linux/static_key.h>
 #include <linux/types.h>
index b72bf25a45cfdb95c56f39c14b9963c3fc0e64af..2563ffdb51bc7154cd052d26d735ea74f6eea1db 100644 (file)
@@ -1815,7 +1815,7 @@ static inline void vma_set_access_pid_bit(struct vm_area_struct *vma)
 
 static inline u8 page_kasan_tag(const struct page *page)
 {
-       u8 tag = 0xff;
+       u8 tag = KASAN_TAG_KERNEL;
 
        if (kasan_enabled()) {
                tag = (page->flags >> KASAN_TAG_PGSHIFT) & KASAN_TAG_MASK;
@@ -1844,7 +1844,7 @@ static inline void page_kasan_tag_set(struct page *page, u8 tag)
 static inline void page_kasan_tag_reset(struct page *page)
 {
        if (kasan_enabled())
-               page_kasan_tag_set(page, 0xff);
+               page_kasan_tag_set(page, KASAN_TAG_KERNEL);
 }
 
 #else /* CONFIG_KASAN_SW_TAGS || CONFIG_KASAN_HW_TAGS */
index 692f33c764d2db08ef1f7fe05e44f8974b0bf356..5526797b7f960d6ee10e9cb0405f3570f46e081f 100644 (file)
@@ -1059,7 +1059,7 @@ static inline bool should_skip_kasan_poison(struct page *page, fpi_t fpi_flags)
        if (IS_ENABLED(CONFIG_KASAN_GENERIC))
                return deferred_pages_enabled();
 
-       return page_kasan_tag(page) == 0xff;
+       return page_kasan_tag(page) == KASAN_TAG_KERNEL;
 }
 
 static void kernel_init_pages(struct page *page, int numpages)