Merge tag 'asoc-fix-v4.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brooni...
[firefly-linux-kernel-4.4.55.git] / mm / kasan / kasan.c
index 936d81661c478a89fd797e8b311b4c52291f2414..6c513a63ea84c3c7ffd41201b7a419ff7b6dfd5d 100644 (file)
@@ -389,6 +389,19 @@ void kasan_krealloc(const void *object, size_t size)
                kasan_kmalloc(page->slab_cache, object, size);
 }
 
+void kasan_kfree(void *ptr)
+{
+       struct page *page;
+
+       page = virt_to_head_page(ptr);
+
+       if (unlikely(!PageSlab(page)))
+               kasan_poison_shadow(ptr, PAGE_SIZE << compound_order(page),
+                               KASAN_FREE_PAGE);
+       else
+               kasan_slab_free(page->slab_cache, ptr);
+}
+
 void kasan_kfree_large(const void *ptr)
 {
        struct page *page = virt_to_page(ptr);