linux/drivers/usb/serial
Ian Abbott 224654004c [PATCH] USB serial ftdi_sio: Prevent userspace DoS
This patch limits the amount of outstanding 'write' data that can be
queued up for the ftdi_sio driver, to prevent userspace DoS attacks (or
simple accidents) that use up all the system memory by writing lots of
data to the serial port.

The original patch was by Guillaume Autran, who in turn based it on the
same mechanism implemented in the 'visor' driver.  I (Ian Abbott)
re-targeted the patch to the latest sources, fixed a couple of errors,
renamed his new structure members, and updated the implementations of
the 'write_room' and 'chars_in_buffer' methods to take account of the
number of outstanding 'write' bytes.  It seems to work fine, though at
low baud rates it is still possible to queue up an amount of data that
takes an age to shift (a job for another day!).

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-07-12 16:03:22 -07:00
..
airprime.c [PATCH] airprime.c: add Kyocera Wireless KPC650/Passport support 2006-06-21 15:04:16 -07:00
anydata.c
ark3116.c [PATCH] USB: add ark3116 usb to serial driver 2006-05-12 11:58:09 -07:00
belkin_sa.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
belkin_sa.h
bus.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ChangeLog.history
console.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cp2101.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cyberjack.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cypress_m8.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cypress_m8.h
digi_acceleport.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
empeg.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ezusb_convert.pl
ezusb.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ftdi_sio.c [PATCH] USB serial ftdi_sio: Prevent userspace DoS 2006-07-12 16:03:22 -07:00
ftdi_sio.h [PATCH] USB: new device ids for ftdi_sio driver 2006-07-12 16:03:21 -07:00
funsoft.c [PATCH] USB: add driver for funsoft usb serial device 2006-04-14 11:12:27 -07:00
garmin_gps.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
generic.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
hp4x.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
io_16654.h
io_edgeport.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
io_edgeport.h
io_fw_boot2.h
io_fw_boot.h
io_fw_down2.h
io_fw_down3.h
io_fw_down.h
io_ionsp.h
io_tables.h
io_ti.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
io_ti.h
io_usbvend.h
ipaq.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ipaq.h
ipw.c [PATCH] USB serial: encapsulate schedule_work, remove double-calling 2006-06-21 15:04:13 -07:00
ir-usb.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Kconfig [PATCH] USB: new devices for the Option driver 2006-06-21 15:04:16 -07:00
keyspan_mpr_fw.h
keyspan_pda_fw.h
keyspan_pda.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
keyspan_pda.S
keyspan_usa18x_fw.h
keyspan_usa19_fw.h
keyspan_usa19qi_fw.h
keyspan_usa19qw_fw.h
keyspan_usa19w_fw.h
keyspan_usa26msg.h
keyspan_usa28_fw.h
keyspan_usa28msg.h
keyspan_usa28x_fw.h
keyspan_usa28xa_fw.h
keyspan_usa28xb_fw.h
keyspan_usa49msg.h
keyspan_usa49w_fw.h
keyspan_usa49wlc_fw.h
keyspan_usa90msg.h
keyspan.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
keyspan.h
kl5kusb105.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
kl5kusb105.h
kobil_sct.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
kobil_sct.h
Makefile [PATCH] USB: add ark3116 usb to serial driver 2006-05-12 11:58:09 -07:00
Makefile-keyspan_pda_fw
mct_u232.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mct_u232.h
navman.c
omninet.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
option.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
pl2303.c [PATCH] USB: Support for Susteen Datapilot Universal-2 cable in pl2303 2006-07-12 16:03:21 -07:00
pl2303.h [PATCH] USB: Support for Susteen Datapilot Universal-2 cable in pl2303 2006-07-12 16:03:21 -07:00
safe_serial.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ti_fw_3410.h
ti_fw_5052.h
ti_usb_3410_5052.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ti_usb_3410_5052.h
usb-serial.c [PATCH] USB: fix usb-serial leaks, oopses on disconnect 2006-07-12 16:03:21 -07:00
usb-serial.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
visor.c [PATCH] USB serial visor: fix race in open/close 2006-07-12 16:03:22 -07:00
visor.h
whiteheat_fw.h
whiteheat.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
whiteheat.h
xircom_pgs_fw.h
xircom_pgs.S