Merge tag 'mm-hotfixes-stable-2023-05-03-16-27' of git://git.kernel.org/pub/scm/linux...
[linux-block.git] / mm / kasan / hw_tags.c
index d1bcb0205327a65fcd5bb41d8be4ce7db2eee6a9..06141bbc1e510e53a8b68c29bd4fa2da34bba74e 100644 (file)
@@ -205,7 +205,7 @@ void kasan_init_hw_tags_cpu(void)
         * Enable async or asymm modes only when explicitly requested
         * through the command line.
         */
-       kasan_enable_tagging();
+       kasan_enable_hw_tags();
 }
 
 /* kasan_init_hw_tags() is called once on boot CPU. */
@@ -285,7 +285,7 @@ static void init_vmalloc_pages(const void *start, unsigned long size)
        const void *addr;
 
        for (addr = start; addr < start + size; addr += PAGE_SIZE) {
-               struct page *page = virt_to_page(addr);
+               struct page *page = vmalloc_to_page(addr);
 
                clear_highpage_kasan_tagged(page);
        }
@@ -297,7 +297,7 @@ void *__kasan_unpoison_vmalloc(const void *start, unsigned long size,
        u8 tag;
        unsigned long redzone_start, redzone_size;
 
-       if (!kasan_vmalloc_enabled() || !is_vmalloc_or_module_addr(start)) {
+       if (!kasan_vmalloc_enabled()) {
                if (flags & KASAN_VMALLOC_INIT)
                        init_vmalloc_pages(start, size);
                return (void *)start;
@@ -318,7 +318,7 @@ void *__kasan_unpoison_vmalloc(const void *start, unsigned long size,
         * Thus, for VM_ALLOC mappings, hardware tag-based KASAN only tags
         * the first virtual mapping, which is created by vmalloc().
         * Tagging the page_alloc memory backing that vmalloc() allocation is
-        * skipped, see ___GFP_SKIP_KASAN_UNPOISON.
+        * skipped, see ___GFP_SKIP_KASAN.
         *
         * For non-VM_ALLOC allocations, page_alloc memory is tagged as usual.
         */
@@ -373,19 +373,19 @@ void __kasan_poison_vmalloc(const void *start, unsigned long size)
 
 #endif
 
-void kasan_enable_tagging(void)
+void kasan_enable_hw_tags(void)
 {
        if (kasan_arg_mode == KASAN_ARG_MODE_ASYNC)
-               hw_enable_tagging_async();
+               hw_enable_tag_checks_async();
        else if (kasan_arg_mode == KASAN_ARG_MODE_ASYMM)
-               hw_enable_tagging_asymm();
+               hw_enable_tag_checks_asymm();
        else
-               hw_enable_tagging_sync();
+               hw_enable_tag_checks_sync();
 }
 
 #if IS_ENABLED(CONFIG_KASAN_KUNIT_TEST)
 
-EXPORT_SYMBOL_GPL(kasan_enable_tagging);
+EXPORT_SYMBOL_GPL(kasan_enable_hw_tags);
 
 void kasan_force_async_fault(void)
 {