|
@@ -2614,6 +2614,13 @@ void kmem_cache_free(struct kmem_cache *s, void *x)
|
|
|
|
|
|
page = virt_to_head_page(x);
|
|
|
|
|
|
+ if (kmem_cache_debug(s) && page->slab != s) {
|
|
|
+ pr_err("kmem_cache_free: Wrong slab cache. %s but object"
|
|
|
+ " is from %s\n", page->slab->name, s->name);
|
|
|
+ WARN_ON_ONCE(1);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
slab_free(s, page, x, _RET_IP_);
|
|
|
|
|
|
trace_kmem_cache_free(_RET_IP_, x);
|