summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorHavard Skinnemoen <hskinnemoen@google.com>2011-11-09 13:47:38 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2011-11-14 13:47:49 -0800
commit5dc2470c602da8851907ec18942cd876c3b4ecc1 (patch)
treea6ef0bac36a5d207ebb9cdfe3e5285bba0d53e40 /drivers/usb/host
parent60c71ca972a2dd3fd9d0165b405361c8ad48349b (diff)
downloadop-kernel-dev-5dc2470c602da8851907ec18942cd876c3b4ecc1.zip
op-kernel-dev-5dc2470c602da8851907ec18942cd876c3b4ecc1.tar.gz
USB: cdc-acm: Fix disconnect() vs close() race
There's a race between the USB disconnect handler and the TTY close handler which may cause the acm object to be freed while it's still being used. This may lead to things like http://article.gmane.org/gmane.linux.usb.general/54250 and https://lkml.org/lkml/2011/5/29/64 This is the simplest fix I could come up with. Holding on to open_mutex while closing the TTY device prevents acm_disconnect() from freeing the acm object between acm->port.count drops to 0 and the TTY side of the cleanups are finalized. Signed-off-by: Havard Skinnemoen <hskinnemoen@google.com> Cc: Oliver Neukum <oliver@neukum.name> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud