|
@@ -56,14 +56,14 @@ void kasan_poison_object_data(struct kmem_cache *cache, void *object);
|
|
|
void kasan_init_slab_obj(struct kmem_cache *cache, const void *object);
|
|
|
|
|
|
void kasan_kmalloc_large(const void *ptr, size_t size, gfp_t flags);
|
|
|
-void kasan_kfree_large(void *ptr);
|
|
|
+void kasan_kfree_large(void *ptr, unsigned long ip);
|
|
|
void kasan_poison_kfree(void *ptr);
|
|
|
void kasan_kmalloc(struct kmem_cache *s, const void *object, size_t size,
|
|
|
gfp_t flags);
|
|
|
void kasan_krealloc(const void *object, size_t new_size, gfp_t flags);
|
|
|
|
|
|
void kasan_slab_alloc(struct kmem_cache *s, void *object, gfp_t flags);
|
|
|
-bool kasan_slab_free(struct kmem_cache *s, void *object);
|
|
|
+bool kasan_slab_free(struct kmem_cache *s, void *object, unsigned long ip);
|
|
|
|
|
|
struct kasan_cache {
|
|
|
int alloc_meta_offset;
|
|
@@ -108,7 +108,7 @@ static inline void kasan_init_slab_obj(struct kmem_cache *cache,
|
|
|
const void *object) {}
|
|
|
|
|
|
static inline void kasan_kmalloc_large(void *ptr, size_t size, gfp_t flags) {}
|
|
|
-static inline void kasan_kfree_large(void *ptr) {}
|
|
|
+static inline void kasan_kfree_large(void *ptr, unsigned long ip) {}
|
|
|
static inline void kasan_poison_kfree(void *ptr) {}
|
|
|
static inline void kasan_kmalloc(struct kmem_cache *s, const void *object,
|
|
|
size_t size, gfp_t flags) {}
|
|
@@ -117,7 +117,8 @@ static inline void kasan_krealloc(const void *object, size_t new_size,
|
|
|
|
|
|
static inline void kasan_slab_alloc(struct kmem_cache *s, void *object,
|
|
|
gfp_t flags) {}
|
|
|
-static inline bool kasan_slab_free(struct kmem_cache *s, void *object)
|
|
|
+static inline bool kasan_slab_free(struct kmem_cache *s, void *object,
|
|
|
+ unsigned long ip)
|
|
|
{
|
|
|
return false;
|
|
|
}
|