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.ku...@linux.vnet.ibm.com> > --- > 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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/