Re: [PATCH] Bluetooth: Fix potential memory leak

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Johan,

>>> index 1fba2a0..58045ee 100644
>>> --- a/net/bluetooth/mgmt.c
>>> +++ b/net/bluetooth/mgmt.c
>>> @@ -6383,6 +6383,7 @@ static int remove_advertising(struct sock *sk, struct hci_dev *hdev,
>>> 	if (skb_queue_empty(&req.cmd_q) ||
>>> 	    !hdev_is_powered(hdev) ||
>>> 	    hci_dev_test_flag(hdev, HCI_ADVERTISING)) {
>>> +		skb_queue_purge(&req.cmd_q);
>>> 		rp.instance = cp->instance;
>>> 		err = mgmt_cmd_complete(sk, hdev->id,
>>> 					MGMT_OP_REMOVE_ADVERTISING,
>> 
>> this does not look right to me. It most likely has side affects. The
>> fix must be differently if there is a memory leak.
> 
> Actually, it looks like the right fix to me. We don't have a separate
> helper to clean up a hci_request that never got used, and
> skb_queue_purge is what other places in the code seem to be doing in
> this kind of cases.

then we need a helper to do this. This is pretty bad style if we hook into the queue directly with a skb_queue_purge. Since that cmd_q should be a hidden detail.

Regards

Marcel

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux