OSDN Git Service

qla2xxx: Use kmemdup instead of kmalloc + memcpy
authorBenoit Taine <benoit.taine@lip6.fr>
Mon, 26 May 2014 15:21:16 +0000 (17:21 +0200)
committerChristoph Hellwig <hch@lst.de>
Wed, 28 May 2014 16:13:19 +0000 (18:13 +0200)
This issue was reported by coccicheck using the semantic patch
at scripts/coccinelle/api/memdup.cocci

Signed-off-by: Benoit Taine <benoit.taine@lip6.fr>
Acked-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/scsi/qla2xxx/qla_mbx.c

index 7f39e36..1c33a77 100644 (file)
@@ -1319,7 +1319,7 @@ qla2x00_get_node_name_list(scsi_qla_host_t *vha, void **out_data, int *out_len)
 
                left = 0;
 
-               list = kzalloc(dma_size, GFP_KERNEL);
+               list = kmemdup(pmap, dma_size, GFP_KERNEL);
                if (!list) {
                        ql_log(ql_log_warn, vha, 0x1140,
                            "%s(%ld): failed to allocate node names list "
@@ -1328,7 +1328,6 @@ qla2x00_get_node_name_list(scsi_qla_host_t *vha, void **out_data, int *out_len)
                        goto out_free;
                }
 
-               memcpy(list, pmap, dma_size);
 restart:
                dma_free_coherent(&ha->pdev->dev, dma_size, pmap, pmap_dma);
        }