zsmalloc: fix a null pointer dereference in destroy_handle_cache()
If zs_create_pool()->create_handle_cache()->kmem_cache_create() or pool->name allocation fails, zs_create_pool()->destroy_handle_cache() will dereference the NULL pool->handle_cachep. Modify destroy_handle_cache() to avoid this. Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Cc: Minchan Kim <minchan@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
f371763a79
commit
02f7b4145d
1 changed files with 2 additions and 1 deletions
|
@ -289,7 +289,8 @@ static int create_handle_cache(struct zs_pool *pool)
|
|||
|
||||
static void destroy_handle_cache(struct zs_pool *pool)
|
||||
{
|
||||
kmem_cache_destroy(pool->handle_cachep);
|
||||
if (pool->handle_cachep)
|
||||
kmem_cache_destroy(pool->handle_cachep);
|
||||
}
|
||||
|
||||
static unsigned long alloc_handle(struct zs_pool *pool)
|
||||
|
|
Loading…
Reference in a new issue