diff --git a/mm/kasan/common.c b/mm/kasan/common.c index 84c8d626d37def6d49b60120fafa78f3c8b7f803..f8cd1e20b6c6ca51590e6e01b980a9d7905f4bf5 100644 --- a/mm/kasan/common.c +++ b/mm/kasan/common.c @@ -307,8 +307,9 @@ size_t kasan_metadata_size(struct kmem_cache *cache) { return (cache->kasan_info.alloc_meta_offset ? sizeof(struct kasan_alloc_meta) : 0) + - (cache->kasan_info.free_meta_offset ? - sizeof(struct kasan_free_meta) : 0); + ((cache->kasan_info.free_meta_offset && + cache->kasan_info.free_meta_offset != KASAN_NO_FREE_META) ? + sizeof(struct kasan_free_meta) : 0); } struct kasan_alloc_meta *kasan_get_alloc_meta(struct kmem_cache *cache,