mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	slub: improve kmem_cache_destroy() error message
As pointed out by Ingo, the SLUB warning of calling kmem_cache_destroy() with cache that still has objects triggers in practice. So turn this WARN_ON() into a nice SLUB specific error message to avoid people confusing it to a SLUB bug. Cc: Ingo Molnar <mingo@elte.hu> Acked-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
This commit is contained in:
		
							parent
							
								
									0701a9e649
								
							
						
					
					
						commit
						d629d81957
					
				
					 1 changed files with 5 additions and 2 deletions
				
			
		| 
						 | 
					@ -2426,8 +2426,11 @@ void kmem_cache_destroy(struct kmem_cache *s)
 | 
				
			||||||
	if (!s->refcount) {
 | 
						if (!s->refcount) {
 | 
				
			||||||
		list_del(&s->list);
 | 
							list_del(&s->list);
 | 
				
			||||||
		up_write(&slub_lock);
 | 
							up_write(&slub_lock);
 | 
				
			||||||
		if (kmem_cache_close(s))
 | 
							if (kmem_cache_close(s)) {
 | 
				
			||||||
			WARN_ON(1);
 | 
								printk(KERN_ERR "SLUB %s: %s called for cache that "
 | 
				
			||||||
 | 
									"still has objects.\n", s->name, __func__);
 | 
				
			||||||
 | 
								dump_stack();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		sysfs_slab_remove(s);
 | 
							sysfs_slab_remove(s);
 | 
				
			||||||
	} else
 | 
						} else
 | 
				
			||||||
		up_write(&slub_lock);
 | 
							up_write(&slub_lock);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue