On Sat, Dec 19, 2020 at 2:13 AM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > Sigh. I don't have access to my capable-of-compiling-KASAN machine at > present :( We'll need this, yes? > > --- a/mm/kasan/kasan.h~a > +++ a/mm/kasan/kasan.h > @@ -3,7 +3,6 @@ > #define __MM_KASAN_KASAN_H > > #include <linux/kasan.h> > -#include <linux/kfence.h> > #include <linux/stackdepot.h> > > #ifdef CONFIG_KASAN_HW_TAGS > @@ -305,20 +304,12 @@ static inline u8 random_tag(void) { retu > > static inline void poison_range(const void *address, size_t size, u8 value) > { > - /* Skip KFENCE memory if called explicitly outside of sl*b. */ > - if (is_kfence_address(address)) > - return; > - > hw_set_mem_tag_range(kasan_reset_tag(address), > round_up(size, KASAN_GRANULE_SIZE), value); > } > > static inline void unpoison_range(const void *address, size_t size) > { > - /* Skip KFENCE memory if called explicitly outside of sl*b. */ > - if (is_kfence_address(address)) > - return; > - > hw_set_mem_tag_range(kasan_reset_tag(address), > round_up(size, KASAN_GRANULE_SIZE), get_tag(address)); > } > --- a/mm/kasan/shadow.c~a > +++ a/mm/kasan/shadow.c > @@ -13,7 +13,6 @@ > #include <linux/init.h> > #include <linux/kasan.h> > #include <linux/kernel.h> > -#include <linux/kfence.h> > #include <linux/kmemleak.h> > #include <linux/memory.h> > #include <linux/mm.h> > @@ -85,10 +84,6 @@ void poison_range(const void *address, s > address = kasan_reset_tag(address); > size = round_up(size, KASAN_GRANULE_SIZE); > > - /* Skip KFENCE memory if called explicitly outside of sl*b. */ > - if (is_kfence_address(address)) > - return; > - > shadow_start = kasan_mem_to_shadow(address); > shadow_end = kasan_mem_to_shadow(address + size); > > @@ -106,14 +101,6 @@ void unpoison_range(const void *address, > */ > address = kasan_reset_tag(address); > > - /* > - * Skip KFENCE memory if called explicitly outside of sl*b. Also note > - * that calls to ksize(), where size is not a multiple of machine-word > - * size, would otherwise poison the invalid portion of the word. > - */ > - if (is_kfence_address(address)) > - return; > - > poison_range(address, size, tag); > > if (size & KASAN_GRANULE_MASK) { > _ > Yes, this should be it. Thanks!