diff options
author | Benoit Taine <benoit.taine@lip6.fr> | 2014-05-26 11:21:13 -0400 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-05-28 12:13:19 -0400 |
commit | 3d30b439f0f02416e8bd784a52d0321e0c25f9fc (patch) | |
tree | 5ac24b24e79b4daa25cc73e054138c9cbf03a1ce | |
parent | f92f82d676d40d262733c48da5837196e8bc9f18 (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.c | 7 |
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 | } |