]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - mm/kmemleak.c
Merge branch 'for-4.0' of git://linux-nfs.org/~bfields/linux
[mirror_ubuntu-artful-kernel.git] / mm / kmemleak.c
index 3cda50c1e3942100bcd3f8715a9062fe1c6d7528..5405aff5a590c370d3c8ca37c0f9a0c19cb46775 100644 (file)
@@ -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_current();
        object->checksum = crc32(0, (void *)object->pointer, object->size);
+       kasan_enable_current();
+
        return object->checksum != old_csum;
 }
 
@@ -1164,7 +1168,9 @@ static void scan_block(void *_start, void *_end,
                                                  BYTES_PER_POINTER))
                        continue;
 
+               kasan_disable_current();
                pointer = *ptr;
+               kasan_enable_current();
 
                object = find_and_get_object(pointer, 1);
                if (!object)