The hci_uart is never freed when tty is closed if the protocol has not been set.
This was discovered by David Hermann and fixed in bluetooth-next. Those patches are more intrusive as they remove the mandatory destructor completely. This is the minimal fix, which leaves the destructor as an empty dummy call for now. Cc: David Herrmann <[email protected]> Cc: stable <[email protected]> Signed-off-by: Johan Hovold <[email protected]> --- drivers/bluetooth/hci_ldisc.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c index 0711448..97c5faa 100644 --- a/drivers/bluetooth/hci_ldisc.c +++ b/drivers/bluetooth/hci_ldisc.c @@ -237,7 +237,6 @@ static void hci_uart_destruct(struct hci_dev *hdev) return; BT_DBG("%s", hdev->name); - kfree(hdev->driver_data); } /* ------ LDISC part ------ */ @@ -316,6 +315,7 @@ static void hci_uart_tty_close(struct tty_struct *tty) hci_free_dev(hdev); } } + kfree(hu); } } -- 1.7.8.4 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
