]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - block/blk-core.c
blk-core: Fix memory corruption if blkcg_init_queue fails
[karo-tx-linux.git] / block / blk-core.c
index 5e00b5a58f6a4eebf974c0e3a0ce6e8e7b2e9862..0c611d89d74857a1eab7e080bdfecc815432a29f 100644 (file)
@@ -645,10 +645,12 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id)
        __set_bit(QUEUE_FLAG_BYPASS, &q->queue_flags);
 
        if (blkcg_init_queue(q))
-               goto fail_id;
+               goto fail_bdi;
 
        return q;
 
+fail_bdi:
+       bdi_destroy(&q->backing_dev_info);
 fail_id:
        ida_simple_remove(&blk_queue_ida, q->id);
 fail_q: