On Thu, Oct 08, 2015 at 02:17:35PM -0700, Andrew Morton wrote: > On Thu, 8 Oct 2015 19:02:40 +0300 Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> wrote: > > > Currently, we do not clear pointers to per memcg caches in the > > memcg_params.memcg_caches array when a global cache is destroyed with > > kmem_cache_destroy. It is fine if the global cache does get destroyed. > > However, a cache can be left on the list if it still has active objects > > when kmem_cache_destroy is called (due to a memory leak). If this > > happens, the entries in the array will point to already freed areas, > > which is likely to result in data corruption when the cache is reused > > (via slab merging). > > It's important that we report these leaks so the kernel bug can get > fixed. The patch doesn't add such detection and reporting, but it > could do so? Reporting individual leaks is up to the slab implementation, we simply can't do it from the generic code, so we just warn that there is a leak there. SLUB already dumps addresses of all leaked objects to the log (see kmem_cache_close -> free_partial -> list_slab_objects). Thanks, Vladimir -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>