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: d841502c79 ("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:
Dinghao Liu 2021-01-02 13:47:55 +08:00 коммит произвёл Marcel Holtmann
Родитель f272f185d2
Коммит 71f8e70755
1 изменённых файлов: 2 добавлений и 0 удалений

Просмотреть файл

@ -1024,7 +1024,9 @@ static void qca_controller_memdump(struct work_struct *work)
dump_size = __le32_to_cpu(dump->dump_size);
if (!(dump_size)) {
bt_dev_err(hu->hdev, "Rx invalid memdump size");
kfree(qca_memdump);
kfree_skb(skb);
qca->qca_memdump = NULL;
mutex_unlock(&qca->hci_memdump_lock);
return;
}