lkml.org 
[lkml]   [2017]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 11/29] IB/mlx4: Use kmalloc_array() in three functions
    From
    Date
    From: Markus Elfring <elfring@users.sourceforge.net>
    Date: Sat, 18 Feb 2017 10:32:32 +0100

    Multiplications for the size determination of memory allocations
    indicated that array data structures should be processed.
    Thus use the corresponding function "kmalloc_array".

    This issue was detected by using the Coccinelle software.

    Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
    ---
    drivers/infiniband/hw/mlx4/main.c | 14 +++++++++-----
    1 file changed, 9 insertions(+), 5 deletions(-)

    diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
    index ba6af84cc236..350c9148340e 100644
    --- a/drivers/infiniband/hw/mlx4/main.c
    +++ b/drivers/infiniband/hw/mlx4/main.c
    @@ -304,7 +304,9 @@ static int mlx4_ib_add_gid(struct ib_device *device,
    ctx->refcount++;
    }
    if (!ret && hw_update) {
    - gids = kmalloc(sizeof(*gids) * MLX4_MAX_PORT_GIDS, GFP_ATOMIC);
    + gids = kmalloc_array(MLX4_MAX_PORT_GIDS,
    + sizeof(*gids),
    + GFP_ATOMIC);
    if (!gids) {
    ret = -ENOMEM;
    } else {
    @@ -359,7 +361,9 @@ static int mlx4_ib_del_gid(struct ib_device *device,
    if (!ret && hw_update) {
    int i;

    - gids = kmalloc(sizeof(*gids) * MLX4_MAX_PORT_GIDS, GFP_ATOMIC);
    + gids = kmalloc_array(MLX4_MAX_PORT_GIDS,
    + sizeof(*gids),
    + GFP_ATOMIC);
    if (!gids) {
    ret = -ENOMEM;
    } else {
    @@ -2828,9 +2832,9 @@ static void *mlx4_ib_add(struct mlx4_dev *dev)
    goto err_counter;

    ibdev->ib_uc_qpns_bitmap =
    - kmalloc(BITS_TO_LONGS(ibdev->steer_qpn_count) *
    - sizeof(long),
    - GFP_KERNEL);
    + kmalloc_array(BITS_TO_LONGS(ibdev->steer_qpn_count),
    + sizeof(long),
    + GFP_KERNEL);
    if (!ibdev->ib_uc_qpns_bitmap)
    goto err_steer_qp_release;

    --
    2.11.1
    \
     
     \ /
      Last update: 2017-02-18 22:07    [W:2.928 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site