Looks good to me. We can disable kasan instrumentation of this file as well. On Wed, Sep 24, 2014 at 5:44 AM, Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> wrote: > kmalloc internally round up allocation size, and kmemleak > uses rounded up size as object's size. This makes kasan > to complain while kmemleak scans memory or calculates of object's > checksum. The simplest solution here is to disable kasan. > > Signed-off-by: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> > --- > mm/kmemleak.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/mm/kmemleak.c b/mm/kmemleak.c > index 3cda50c..9bda1b3 100644 > --- a/mm/kmemleak.c > +++ b/mm/kmemleak.c > @@ -98,6 +98,7 @@ > #include <asm/processor.h> > #include <linux/atomic.h> > > +#include <linux/kasan.h> > #include <linux/kmemcheck.h> > #include <linux/kmemleak.h> > #include <linux/memory_hotplug.h> > @@ -1113,7 +1114,10 @@ static bool update_checksum(struct kmemleak_object *object) > if (!kmemcheck_is_obj_initialized(object->pointer, object->size)) > return false; > > + kasan_disable_local(); > object->checksum = crc32(0, (void *)object->pointer, object->size); > + kasan_enable_local(); > + > return object->checksum != old_csum; > } > > @@ -1164,7 +1168,9 @@ static void scan_block(void *_start, void *_end, > BYTES_PER_POINTER)) > continue; > > + kasan_disable_local(); > pointer = *ptr; > + kasan_enable_local(); > > object = find_and_get_object(pointer, 1); > if (!object) > -- > 2.1.1 > -- 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>