diff options
author | Ajay Kaher | 2017-03-28 14:09:32 +0200 |
---|---|---|
committer | Greg Kroah-Hartman | 2017-03-29 11:55:25 +0200 |
commit | 2f86a96be0ccb1302b7eee7855dbee5ce4dc5dfb (patch) | |
tree | 5babb1236173c80b67a53cc0adb5420a87250503 /drivers/usb/class/cdc-acm.h | |
parent | USB: usbtmc: refactor endpoint retrieval (diff) | |
download | kernel-qcow2-linux-2f86a96be0ccb1302b7eee7855dbee5ce4dc5dfb.tar.gz kernel-qcow2-linux-2f86a96be0ccb1302b7eee7855dbee5ce4dc5dfb.tar.xz kernel-qcow2-linux-2f86a96be0ccb1302b7eee7855dbee5ce4dc5dfb.zip |
USB: Proper handling of Race Condition when two USB class drivers try to call init_usb_class simultaneously
There is race condition when two USB class drivers try to call
init_usb_class at the same time and leads to crash.
code path: probe->usb_register_dev->init_usb_class
To solve this, mutex locking has been added in init_usb_class() and
destroy_usb_class().
As pointed by Alan, removed "if (usb_class)" test from destroy_usb_class()
because usb_class can never be NULL there.
Signed-off-by: Ajay Kaher <ajay.kaher@samsung.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/class/cdc-acm.h')
0 files changed, 0 insertions, 0 deletions