kernel_optimize_test/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 [PATCH] USB: remove .owner field from struct usb_driver 2006-01-04 13:48:34 -08:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bus.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ChangeLog.history [PATCH] USB Serial: rename ChangeLog.old 2005-11-17 11:29:52 -08:00
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 [PATCH] USB: cypress_m8: add support for the Nokia ca42-version 2 cable 2006-03-20 14:50:00 -08:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io_edgeport.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
io_edgeport.h [PATCH] USB: Use ARRAY_SIZE macro 2006-01-04 13:51:43 -08:00
io_fw_boot2.h [PATCH] USB: mark various usb tables const 2006-01-04 13:51:40 -08:00
io_fw_boot.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io_fw_down2.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io_fw_down3.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io_fw_down.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io_ionsp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io_tables.h [PATCH] USB Serial: move name to driver structure 2005-10-28 16:47:48 -07:00
io_ti.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
io_ti.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io_usbvend.h [PATCH] USB: Spelling fixes for drivers/usb. 2005-05-03 23:31:52 -07:00
ipaq.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ipaq.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_pda_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_pda.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
keyspan_pda.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa18x_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa19_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa19qi_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa19qw_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa19w_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa26msg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa28_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa28msg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa28x_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa28xa_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa28xb_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa49msg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa49w_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa49wlc_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyspan_usa90msg.h [PATCH] USB: Spelling fixes for drivers/usb. 2005-05-03 23:31:52 -07:00
keyspan.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
keyspan.h [PATCH] USB: remove .owner field from struct usb_driver 2006-01-04 13:48:34 -08:00
kl5kusb105.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
kl5kusb105.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kobil_sct.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
kobil_sct.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile [PATCH] USB: add ark3116 usb to serial driver 2006-05-12 11:58:09 -07:00
Makefile-keyspan_pda_fw Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mct_u232.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mct_u232.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
navman.c [PATCH] USB serial: add navman driver 2006-03-20 14:50:03 -08:00
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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ti_fw_5052.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ti_usb_3410_5052.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ti_usb_3410_5052.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
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 [PATCH] USB: visor.c id for gspda smartphone 2006-02-28 12:42:07 -08:00
whiteheat_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
whiteheat.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
whiteheat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xircom_pgs_fw.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xircom_pgs.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00