Bluetooth: hci_qca: Fix memleak in qca_controller_memdump
When __le32_to_cpu() fails, qca_memdump should be freed just like when vmalloc() fails. Fixes: d841502c79e3f ("Bluetooth: hci_qca: Collect controller memory dump during SSR") Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
f272f185d2
commit
71f8e70755
@ -1024,7 +1024,9 @@ static void qca_controller_memdump(struct work_struct *work)
|
|||||||
dump_size = __le32_to_cpu(dump->dump_size);
|
dump_size = __le32_to_cpu(dump->dump_size);
|
||||||
if (!(dump_size)) {
|
if (!(dump_size)) {
|
||||||
bt_dev_err(hu->hdev, "Rx invalid memdump size");
|
bt_dev_err(hu->hdev, "Rx invalid memdump size");
|
||||||
|
kfree(qca_memdump);
|
||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
|
qca->qca_memdump = NULL;
|
||||||
mutex_unlock(&qca->hci_memdump_lock);
|
mutex_unlock(&qca->hci_memdump_lock);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user