Skip to content

Commit

Permalink
[PATCH] fix double-free in blk_init_queue_node()
Browse files Browse the repository at this point in the history
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
  • Loading branch information
Al Viro committed Mar 18, 2006
1 parent afc847b commit 8669aaf
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions block/ll_rw_blk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 8669aaf

Please sign in to comment.