On 09/03/2015 10:54 AM, Aneesh Kumar K.V wrote: > Use is_module_text_address instead > It should be is_module_address(). We use kernel_or_module_addr() to determine whether this address belongs to some global variable or not. And variables are in .data section, .text is only code. Something like is_module_data_address() would be more precise here. But since we don't have it, we can just use is_module_address(). Definitely not is_module_text_address(). > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> > --- > mm/kasan/report.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/mm/kasan/report.c b/mm/kasan/report.c > index 6c3f82b0240b..01d2efec8ea4 100644 > --- a/mm/kasan/report.c > +++ b/mm/kasan/report.c > @@ -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_text_address((unsigned long)addr)) > + return true; > + return false; > } > > static inline bool init_task_stack_addr(const void *addr) > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>