Bluetooth: vhci: Fix race at creating hci device
authorTakashi Iwai <tiwai@suse.de>
Thu, 14 Apr 2016 15:32:19 +0000 (17:32 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 20 Apr 2016 14:28:28 +0000 (16:28 +0200)
commitc7c999cb18da88a881e10e07f0724ad0bfaff770
treef211ce1476402b62d2395b04684ec86391fd0722
parent60f5f5d3a106dc5385b39348d13b20b15ac9cbf9
Bluetooth: vhci: Fix race at creating hci device

hci_vhci driver creates a hci device object dynamically upon each
HCI_VENDOR_PKT write.  Although it checks the already created object
and returns an error, it's still racy and may build multiple hci_dev
objects concurrently when parallel writes are performed, as the device
tracks only a single hci_dev object.

This patch introduces a mutex to protect against the concurrent device
creations.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/hci_vhci.c