aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Elfring <elfring@users.sourceforge.net>2016-09-11 06:21:25 -0400
committerIlya Dryomov <idryomov@gmail.com>2016-10-03 10:13:50 -0400
commit88a25a5fa09dff62b5fc1e82fb9c0c6b23971887 (patch)
tree5691110f14178e0af75d3cb9539a2f8a8e59223a
parent8cdcc07dde27d29bc25b3588238d4b1cc9a56fe9 (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>
-rw-r--r--drivers/block/rbd.c7
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,
986 char *snap_names = NULL; 986 char *snap_names = NULL;
987 u64 *snap_sizes = NULL; 987 u64 *snap_sizes = NULL;
988 u32 snap_count; 988 u32 snap_count;
989 size_t size;
990 int ret = -ENOMEM; 989 int ret = -ENOMEM;
991 u32 i; 990 u32 i;
992 991
@@ -1024,9 +1023,9 @@ static int rbd_header_from_disk(struct rbd_device *rbd_dev,
1024 goto out_err; 1023 goto out_err;
1025 1024
1026 /* ...as well as the array of their sizes. */ 1025 /* ...as well as the array of their sizes. */
1027 1026 snap_sizes = kmalloc_array(snap_count,
1028 size = snap_count * sizeof (*header->snap_sizes); 1027 sizeof(*header->snap_sizes),
1029 snap_sizes = kmalloc(size, GFP_KERNEL); 1028 GFP_KERNEL);
1030 if (!snap_sizes) 1029 if (!snap_sizes)
1031 goto out_err; 1030 goto out_err;
1032 1031