hinic: Use kmemdup instead of kzalloc and memcpy
authorZou Wei <zou_wei@huawei.com>
Wed, 29 Apr 2020 03:35:28 +0000 (11:35 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 May 2020 03:59:34 +0000 (20:59 -0700)
Fixes coccicheck warnings:

 drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c:452:17-24: WARNING opportunity for kmemdup
 drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c:458:23-30: WARNING opportunity for kmemdup

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Zou Wei <zou_wei@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c

index d5cf31529dbf97f6a7b8bc02635da16074a5f69b..564fb2294a293050e992ff18443696ae2af80cdc 100644 (file)
@@ -449,18 +449,15 @@ static void recv_mbox_handler(struct hinic_mbox_func_to_func *func_to_func,
                return;
        }
 
-       rcv_mbox_temp = kzalloc(sizeof(*rcv_mbox_temp), GFP_KERNEL);
+       rcv_mbox_temp = kmemdup(recv_mbox, sizeof(*rcv_mbox_temp), GFP_KERNEL);
        if (!rcv_mbox_temp)
                return;
 
-       memcpy(rcv_mbox_temp, recv_mbox, sizeof(*rcv_mbox_temp));
-
-       rcv_mbox_temp->mbox = kzalloc(MBOX_MAX_BUF_SZ, GFP_KERNEL);
+       rcv_mbox_temp->mbox = kmemdup(recv_mbox->mbox, MBOX_MAX_BUF_SZ,
+                                     GFP_KERNEL);
        if (!rcv_mbox_temp->mbox)
                goto err_alloc_rcv_mbox_msg;
 
-       memcpy(rcv_mbox_temp->mbox, recv_mbox->mbox, MBOX_MAX_BUF_SZ);
-
        rcv_mbox_temp->buf_out = kzalloc(MBOX_MAX_BUF_SZ, GFP_KERNEL);
        if (!rcv_mbox_temp->buf_out)
                goto err_alloc_rcv_mbox_buf;