224654004c
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> |
||
---|---|---|
.. | ||
airprime.c | ||
anydata.c | ||
ark3116.c | ||
belkin_sa.c | ||
belkin_sa.h | ||
bus.c | ||
ChangeLog.history | ||
console.c | ||
cp2101.c | ||
cyberjack.c | ||
cypress_m8.c | ||
cypress_m8.h | ||
digi_acceleport.c | ||
empeg.c | ||
ezusb_convert.pl | ||
ezusb.c | ||
ftdi_sio.c | ||
ftdi_sio.h | ||
funsoft.c | ||
garmin_gps.c | ||
generic.c | ||
hp4x.c | ||
io_16654.h | ||
io_edgeport.c | ||
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 | ||
io_ti.h | ||
io_usbvend.h | ||
ipaq.c | ||
ipaq.h | ||
ipw.c | ||
ir-usb.c | ||
Kconfig | ||
keyspan_mpr_fw.h | ||
keyspan_pda_fw.h | ||
keyspan_pda.c | ||
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 | ||
keyspan.h | ||
kl5kusb105.c | ||
kl5kusb105.h | ||
kobil_sct.c | ||
kobil_sct.h | ||
Makefile | ||
Makefile-keyspan_pda_fw | ||
mct_u232.c | ||
mct_u232.h | ||
navman.c | ||
omninet.c | ||
option.c | ||
pl2303.c | ||
pl2303.h | ||
safe_serial.c | ||
ti_fw_3410.h | ||
ti_fw_5052.h | ||
ti_usb_3410_5052.c | ||
ti_usb_3410_5052.h | ||
usb-serial.c | ||
usb-serial.h | ||
visor.c | ||
visor.h | ||
whiteheat_fw.h | ||
whiteheat.c | ||
whiteheat.h | ||
xircom_pgs_fw.h | ||
xircom_pgs.S |