Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8669aafd authored by Al Viro's avatar Al Viro
Browse files

[PATCH] fix double-free in blk_init_queue_node()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent afc847b7
Loading
Loading
Loading
Loading
+5 −5
Original line number Original line Diff line number Diff line
@@ -1854,8 +1854,10 @@ blk_init_queue_node(request_fn_proc *rfn, spinlock_t *lock, int node_id)
		return NULL;
		return NULL;


	q->node = node_id;
	q->node = node_id;
	if (blk_init_free_list(q))
	if (blk_init_free_list(q)) {
		goto out_init;
		kmem_cache_free(requestq_cachep, q);
		return NULL;
	}


	/*
	/*
	 * if caller didn't supply a lock, they get per-queue locking with
	 * 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;
		return q;
	}
	}


	blk_cleanup_queue(q);
	blk_put_queue(q);
out_init:
	kmem_cache_free(requestq_cachep, q);
	return NULL;
	return NULL;
}
}
EXPORT_SYMBOL(blk_init_queue_node);
EXPORT_SYMBOL(blk_init_queue_node);