aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/buffer.c
diff options
context:
space:
mode:
authorLuiz Fernando Capitulino <[email protected]>2005-11-28 21:16:07 +0000
committerGreg Kroah-Hartman <[email protected]>2006-01-04 21:48:35 +0000
commit8a4613f01f5bb850cab34e3db572d97251d997b3 (patch)
tree3ce08f8c75cf8696f7902dd33298a95016ed4e14 /drivers/usb/core/buffer.c
parent[PATCH] USB: usbserial: Adds missing checks and bug fix. (diff)
downloadkernel-8a4613f01f5bb850cab34e3db572d97251d997b3.tar.gz
kernel-8a4613f01f5bb850cab34e3db572d97251d997b3.zip
[PATCH] USB: usbserial: race-condition fix.
There is a race-condition in usb-serial driver that can be triggered if a processes does 'port->tty->driver_data = NULL' in serial_close() while other processes is in kernel-space about to call serial_ioctl() on the same port. This happens because a process can open the device while there is another one closing it. The patch below fixes that by adding a semaphore to ensure that no process will open the device while another process is closing it. Note that we can't use spinlocks here, since serial_open() and serial_close() can sleep. Signed-off-by: Luiz Capitulino <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'drivers/usb/core/buffer.c')
0 files changed, 0 insertions, 0 deletions