Commit d3775354 authored by Kent Overstreet's avatar Kent Overstreet Committed by Jens Axboe

dm: Use kzalloc for all structs with embedded biosets/mempools

mempool_init()/bioset_init() require that the mempools/biosets be zeroed
first; they probably should not _require_ this, but not allocating those
structs with kzalloc is a fairly nonsensical thing to do (calling
mempool_exit()/bioset_exit() on an uninitialized mempool/bioset is legal
and safe, but only works if said memory was zeroed.)
Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
Signed-off-by: default avatarKent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 0196d6b4
...@@ -33,7 +33,7 @@ static struct kmem_cache *_cell_cache; ...@@ -33,7 +33,7 @@ static struct kmem_cache *_cell_cache;
*/ */
struct dm_bio_prison *dm_bio_prison_create(void) struct dm_bio_prison *dm_bio_prison_create(void)
{ {
struct dm_bio_prison *prison = kmalloc(sizeof(*prison), GFP_KERNEL); struct dm_bio_prison *prison = kzalloc(sizeof(*prison), GFP_KERNEL);
int ret; int ret;
if (!prison) if (!prison)
......
...@@ -35,7 +35,7 @@ static struct kmem_cache *_cell_cache; ...@@ -35,7 +35,7 @@ static struct kmem_cache *_cell_cache;
*/ */
struct dm_bio_prison_v2 *dm_bio_prison_create_v2(struct workqueue_struct *wq) struct dm_bio_prison_v2 *dm_bio_prison_create_v2(struct workqueue_struct *wq)
{ {
struct dm_bio_prison_v2 *prison = kmalloc(sizeof(*prison), GFP_KERNEL); struct dm_bio_prison_v2 *prison = kzalloc(sizeof(*prison), GFP_KERNEL);
int ret; int ret;
if (!prison) if (!prison)
......
...@@ -51,7 +51,7 @@ struct dm_io_client *dm_io_client_create(void) ...@@ -51,7 +51,7 @@ struct dm_io_client *dm_io_client_create(void)
unsigned min_ios = dm_get_reserved_bio_based_ios(); unsigned min_ios = dm_get_reserved_bio_based_ios();
int ret; int ret;
client = kmalloc(sizeof(*client), GFP_KERNEL); client = kzalloc(sizeof(*client), GFP_KERNEL);
if (!client) if (!client)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
......
...@@ -882,7 +882,7 @@ struct dm_kcopyd_client *dm_kcopyd_client_create(struct dm_kcopyd_throttle *thro ...@@ -882,7 +882,7 @@ struct dm_kcopyd_client *dm_kcopyd_client_create(struct dm_kcopyd_throttle *thro
int r; int r;
struct dm_kcopyd_client *kc; struct dm_kcopyd_client *kc;
kc = kmalloc(sizeof(*kc), GFP_KERNEL); kc = kzalloc(sizeof(*kc), GFP_KERNEL);
if (!kc) if (!kc)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
......
...@@ -180,7 +180,7 @@ struct dm_region_hash *dm_region_hash_create( ...@@ -180,7 +180,7 @@ struct dm_region_hash *dm_region_hash_create(
; ;
nr_buckets >>= 1; nr_buckets >>= 1;
rh = kmalloc(sizeof(*rh), GFP_KERNEL); rh = kzalloc(sizeof(*rh), GFP_KERNEL);
if (!rh) { if (!rh) {
DMERR("unable to allocate region hash memory"); DMERR("unable to allocate region hash memory");
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
......
...@@ -1120,7 +1120,7 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv) ...@@ -1120,7 +1120,7 @@ static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv)
origin_mode = FMODE_WRITE; origin_mode = FMODE_WRITE;
} }
s = kmalloc(sizeof(*s), GFP_KERNEL); s = kzalloc(sizeof(*s), GFP_KERNEL);
if (!s) { if (!s) {
ti->error = "Cannot allocate private snapshot structure"; ti->error = "Cannot allocate private snapshot structure";
r = -ENOMEM; r = -ENOMEM;
......
...@@ -2861,7 +2861,7 @@ static struct pool *pool_create(struct mapped_device *pool_md, ...@@ -2861,7 +2861,7 @@ static struct pool *pool_create(struct mapped_device *pool_md,
return (struct pool *)pmd; return (struct pool *)pmd;
} }
pool = kmalloc(sizeof(*pool), GFP_KERNEL); pool = kzalloc(sizeof(*pool), GFP_KERNEL);
if (!pool) { if (!pool) {
*error = "Error allocating memory for pool"; *error = "Error allocating memory for pool";
err_p = ERR_PTR(-ENOMEM); err_p = ERR_PTR(-ENOMEM);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment