]> git.proxmox.com Git - mirror_spl.git/commitdiff
Fix: handle NULL case in spl_kmem_free_track()
authorGeLiXin <ge.lixin@zte.com.cn>
Fri, 19 Aug 2016 06:50:21 +0000 (14:50 +0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 19 Aug 2016 16:14:24 +0000 (09:14 -0700)
When DEBUG_KMEM_TRACKING is enabled in SPL, we keep tracking all
the buffers alloced by kmem_alloc() and kmem_zalloc().  If a NULL
pointer which indicates no track info in SPL is passed to
spl_kmem_free_track, we just ignore it.

Signed-off-by: GeLiXin <ge.lixin@zte.com.cn>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue zfsonlinux/zfs#4967
Closes #567

module/spl/spl-kmem.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 0931fdf..2b68c29
@@ -383,6 +383,10 @@ spl_kmem_free_track(const void *ptr, size_t size)
 {
        kmem_debug_t *dptr;
 
+       /* Ignore NULL pointer since we haven't tracked it at all*/
+       if (ptr == NULL)
+               return;
+
        /* Must exist in hash due to kmem_alloc() */
        dptr = kmem_del_init(&kmem_lock, kmem_table, KMEM_HASH_BITS, ptr);
        ASSERT3P(dptr, !=, NULL);