aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenoit Taine <benoit.taine@lip6.fr>2014-05-26 11:21:13 -0400
committerChristoph Hellwig <hch@lst.de>2014-05-28 12:13:19 -0400
commit3d30b439f0f02416e8bd784a52d0321e0c25f9fc (patch)
tree5ac24b24e79b4daa25cc73e054138c9cbf03a1ce
parentf92f82d676d40d262733c48da5837196e8bc9f18 (diff)
qla4xxx: Use kmemdup instead of kmalloc + memcpy
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: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
-rw-r--r--drivers/scsi/qla4xxx/ql4_os.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index 9eef7d41522f..320206376206 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -3565,14 +3565,13 @@ static int qla4xxx_copy_from_fwddb_param(struct iscsi_bus_flash_session *sess,
3565 if (test_bit(OPT_IPV6_DEVICE, &options)) { 3565 if (test_bit(OPT_IPV6_DEVICE, &options)) {
3566 conn->ipv6_traffic_class = fw_ddb_entry->ipv4_tos; 3566 conn->ipv6_traffic_class = fw_ddb_entry->ipv4_tos;
3567 3567
3568 conn->link_local_ipv6_addr = kzalloc(IPv6_ADDR_LEN, GFP_KERNEL); 3568 conn->link_local_ipv6_addr = kmemdup(
3569 fw_ddb_entry->link_local_ipv6_addr,
3570 IPv6_ADDR_LEN, GFP_KERNEL);
3569 if (!conn->link_local_ipv6_addr) { 3571 if (!conn->link_local_ipv6_addr) {
3570 rc = -ENOMEM; 3572 rc = -ENOMEM;
3571 goto exit_copy; 3573 goto exit_copy;
3572 } 3574 }
3573
3574 memcpy(conn->link_local_ipv6_addr,
3575 fw_ddb_entry->link_local_ipv6_addr, IPv6_ADDR_LEN);
3576 } else { 3575 } else {
3577 conn->ipv4_tos = fw_ddb_entry->ipv4_tos; 3576 conn->ipv4_tos = fw_ddb_entry->ipv4_tos;
3578 } 3577 }