Bluetooth: hci_conn: Use kmemdup() to replace kzalloc + memcpy
authorJiapeng Chong <jiapeng.chong@linux.alibaba.com>
Sun, 25 Jun 2023 08:45:13 +0000 (16:45 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 29 Jun 2023 17:52:18 +0000 (10:52 -0700)
Use kmemdup rather than duplicating its implementation.

./net/bluetooth/hci_conn.c:1880:7-14: WARNING opportunity for kmemdup.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=5597
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/bluetooth/hci_conn.c

index 24407a974b9cc345e86f8688d0faaf3284f80377..056f9516e46dd808b4bd714d8eb3c930ef5eee31 100644 (file)
@@ -1862,12 +1862,10 @@ static bool hci_le_set_cig_params(struct hci_conn *conn, struct bt_iso_qos *qos)
        if (qos->ucast.cis == BT_ISO_QOS_CIS_UNSET || !data.pdu.cp.num_cis)
                return false;
 
-       pdu = kzalloc(sizeof(*pdu), GFP_KERNEL);
+       pdu = kmemdup(&data.pdu, sizeof(*pdu), GFP_KERNEL);
        if (!pdu)
                return false;
 
-       memcpy(pdu, &data.pdu, sizeof(*pdu));
-
        if (hci_cmd_sync_queue(hdev, set_cig_params_sync, pdu,
                               set_cig_params_complete) < 0) {
                kfree(pdu);