mm/kasan: MODULE_VADDR is not available on all archs
[deliverable/linux.git] / mm / kasan / report.c
index 6c3f82b0240b30c4a3f6abac573c904313a713d0..d269f2087fafd819f35a7cc73bf9fe735c76b269 100644 (file)
@@ -22,6 +22,7 @@
 #include <linux/string.h>
 #include <linux/types.h>
 #include <linux/kasan.h>
+#include <linux/module.h>
 
 #include <asm/sections.h>
 
@@ -85,9 +86,11 @@ static void print_error_description(struct kasan_access_info *info)
 
 static inline bool kernel_or_module_addr(const void *addr)
 {
-       return (addr >= (void *)_stext && addr < (void *)_end)
-               || (addr >= (void *)MODULES_VADDR
-                       && addr < (void *)MODULES_END);
+       if (addr >= (void *)_stext && addr < (void *)_end)
+               return true;
+       if (is_module_address((unsigned long)addr))
+               return true;
+       return false;
 }
 
 static inline bool init_task_stack_addr(const void *addr)
This page took 0.038773 seconds and 5 git commands to generate.