diff options
author | Markus Elfring <elfring@users.sourceforge.net> | 2016-09-11 12:21:25 +0200 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2016-10-03 16:13:50 +0200 |
commit | 88a25a5fa09dff62b5fc1e82fb9c0c6b23971887 (patch) | |
tree | 5691110f14178e0af75d3cb9539a2f8a8e59223a /drivers/block | |
parent | 8cdcc07dde27d29bc25b3588238d4b1cc9a56fe9 (diff) |
rbd: use kmalloc_array() in rbd_header_from_disk()
* A multiplication for the size determination of a memory allocation
indicated that an array data structure should be processed.
Thus use the corresponding function "kmalloc_array".
This issue was detected by using the Coccinelle software.
* Delete the local variable "size" which became unnecessary with
this refactoring.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/rbd.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index c842b8911936..aacbc832c1a2 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -986,7 +986,6 @@ static int rbd_header_from_disk(struct rbd_device *rbd_dev, char *snap_names = NULL; u64 *snap_sizes = NULL; u32 snap_count; - size_t size; int ret = -ENOMEM; u32 i; @@ -1024,9 +1023,9 @@ static int rbd_header_from_disk(struct rbd_device *rbd_dev, goto out_err; /* ...as well as the array of their sizes. */ - - size = snap_count * sizeof (*header->snap_sizes); - snap_sizes = kmalloc(size, GFP_KERNEL); + snap_sizes = kmalloc_array(snap_count, + sizeof(*header->snap_sizes), + GFP_KERNEL); if (!snap_sizes) goto out_err; |