Bluetooth: vhci: Fix race at creating hci device
authorTakashi Iwai <tiwai@suse.de>
Thu, 14 Apr 2016 15:32:19 +0000 (17:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Jun 2016 19:16:59 +0000 (12:16 -0700)
commit42c021d1bfe919e6b2fe36a0de74b539dae6c4fc
tree6da2013a3d7805d3a003885d3f97086770672a0e
parentd071b444851fa2bd2e2fa7f16eb54876b1d36397
Bluetooth: vhci: Fix race at creating hci device

commit c7c999cb18da88a881e10e07f0724ad0bfaff770 upstream.

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.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/bluetooth/hci_vhci.c