On Wed, 28 Jul 2021 16:13:19 +0800 Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> wrote: > @@ -64,8 +64,7 @@ const struct exception_table_entry *search_exception_tables(unsigned long addr) > > int notrace core_kernel_text(unsigned long addr) > { > - if (addr >= (unsigned long)_stext && > - addr < (unsigned long)_etext) > + if (is_kernel_text(addr)) Perhaps this was a bug, and these functions should be checking the gate area as well, as that is part of kernel text. -- Steve > return 1; > > if (system_state < SYSTEM_RUNNING && > diff --git a/mm/kasan/report.c b/mm/kasan/report.c > index 884a950c7026..88f5b0c058b7 100644 > --- a/mm/kasan/report.c > +++ b/mm/kasan/report.c > @@ -235,7 +235,7 @@ static void describe_object(struct kmem_cache *cache, void *object, > > static inline bool kernel_or_module_addr(const void *addr) > { > - if (addr >= (void *)_stext && addr < (void *)_end) > + if (is_kernel((unsigned long)addr)) > return true; > if (is_module_address((unsigned long)addr)) > return true; > --