mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-18 11:56:14 +07:00
[PATCH] fix double-free in blk_init_queue_node()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
afc847b7dd
commit
8669aafdb5
@ -1854,8 +1854,10 @@ blk_init_queue_node(request_fn_proc *rfn, spinlock_t *lock, int node_id)
|
||||
return NULL;
|
||||
|
||||
q->node = node_id;
|
||||
if (blk_init_free_list(q))
|
||||
goto out_init;
|
||||
if (blk_init_free_list(q)) {
|
||||
kmem_cache_free(requestq_cachep, q);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* if caller didn't supply a lock, they get per-queue locking with
|
||||
@ -1891,9 +1893,7 @@ blk_init_queue_node(request_fn_proc *rfn, spinlock_t *lock, int node_id)
|
||||
return q;
|
||||
}
|
||||
|
||||
blk_cleanup_queue(q);
|
||||
out_init:
|
||||
kmem_cache_free(requestq_cachep, q);
|
||||
blk_put_queue(q);
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(blk_init_queue_node);
|
||||
|
Loading…
Reference in New Issue
Block a user