linux/drivers/usb/serial
Johan Hovold 6bfc8d01ac USB: serial: keyspan_pda: fix information leak
The write() callback is supposed to return the number of characters
accepted or a negative errno. Since the addition of write fifo support
the keyspan_pda implementation will however return the number characters
submitted to the device if the write urb is not already in use. If this
number is larger than the number of characters passed to write(), the
line discipline continues writing data from beyond the tty write buffer.

Fix the information leak by making sure that keyspan_pda_write_start()
returns zero on success as intended.

Fixes: 034e38e8f6 ("USB: serial: keyspan_pda: add write-fifo support")
Cc: stable@vger.kernel.org	# 5.11
Signed-off-by: Johan Hovold <johan@kernel.org>
2026-06-30 10:36:06 +02:00
..
aircable.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ark3116.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
belkin_sa.c USB serial updates for 7.2-rc1 2026-06-12 18:01:39 +02:00
belkin_sa.h
bus.c USB: serial: bus: fix const issue in usb_serial_device_match() 2025-05-21 17:01:37 +02:00
ch341.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
console.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cp210x.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cyberjack.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
cypress_m8.c USB serial updates for 7.2-rc1 2026-06-12 18:01:39 +02:00
cypress_m8.h
digi_acceleport.c USB: serial: digi_acceleport: fix broken rx after throttle 2026-06-29 11:40:34 +02:00
empeg.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
ezusb_convert.pl
f81232.c USB: serial: drop unused moduleparam includes 2026-05-11 09:34:13 +02:00
f81534.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
ftdi_sio_ids.h USB: serial: ftdi_sio: add support for PICAXE AXE027 cable 2026-01-13 14:08:46 +01:00
ftdi_sio.c USB: serial: drop unused tty_driver includes 2026-05-11 09:33:40 +02:00
ftdi_sio.h USB: serial: ftdi_sio: rename channel index 2022-09-15 08:05:53 +02:00
garmin_gps.c USB: serial: garmin_gps: drop unused atomic include 2026-05-11 09:34:17 +02:00
generic.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
io_16654.h
io_edgeport.c USB: serial: add missing atomic includes 2026-05-11 09:34:21 +02:00
io_edgeport.h USB: serial: io_edgeport: drop unused definitions 2021-04-08 09:50:04 +02:00
io_ionsp.h
io_ti.c USB/Thunderbolt driver changes for 7.2-rc1 2026-06-22 12:09:47 -07:00
io_ti.h USB: serial: io_ti: drop unnecessary packed attributes 2021-04-13 18:23:34 +02:00
io_usbvend.h USB: serial: io_edgeport: add support for Blackbox IC135A 2026-03-17 15:28:14 +01:00
ipaq.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
ipw.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
ir-usb.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
iuu_phoenix.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
iuu_phoenix.h
Kconfig USB: serial: simple: add Nokia phone driver 2022-03-03 09:27:36 +01:00
keyspan_pda.c USB: serial: keyspan_pda: fix information leak 2026-06-30 10:36:06 +02:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c USB serial updates for 7.2-rc1 2026-06-12 18:01:39 +02:00
kl5kusb105.c USB/Thunderbolt driver changes for 7.2-rc1 2026-06-22 12:09:47 -07:00
kl5kusb105.h
kobil_sct.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
kobil_sct.h
Makefile USB: serial: add MaxLinear/Exar USB to Serial driver 2021-01-21 10:49:37 +01:00
Makefile-keyspan_pda_fw
mct_u232.c USB serial updates for 7.2-rc1 2026-06-12 18:01:39 +02:00
mct_u232.h
metro-usb.c USB: serial: drop unused moduleparam includes 2026-05-11 09:34:13 +02:00
mos7720.c USB: serial: add missing atomic includes 2026-05-11 09:34:21 +02:00
mos7840.c USB: serial: drop unused tty_driver includes 2026-05-11 09:33:40 +02:00
mxuport.c USB serial updates for 7.2-rc1 2026-06-12 18:01:39 +02:00
navman.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
omninet.c USB serial updates for 7.2-rc1 2026-06-12 18:01:39 +02:00
opticon.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
option.c USB: serial: option: add Telit Cinterion FE990D50 compositions 2026-06-29 17:01:33 +02:00
oti6858.c USB: serial: drop unused moduleparam includes 2026-05-11 09:34:13 +02:00
oti6858.h
pl2303.c USB: serial: drop unused moduleparam includes 2026-05-11 09:34:13 +02:00
pl2303.h USB: serial: pl2303: add device id for Macrosilicon MS3020 2024-09-06 17:11:13 +02:00
qcaux.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
qcserial.c USB: serial: drop unused tty_flip includes 2026-05-11 09:33:59 +02:00
quatech2.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
safe_serial.c USB serial updates for 7.2-rc1 2026-06-12 18:01:39 +02:00
sierra.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
spcp8x5.c USB: serial: drop unused tty_flip includes 2026-05-11 09:33:59 +02:00
ssu100.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
symbolserial.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
ti_usb_3410_5052.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
upd78f0730.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
usb_debug.c USB: serial: drop driver owner initialization 2024-08-26 15:28:25 +02:00
usb_wwan.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
usb-serial-simple.c USB: serial: simple: add OWON HDS200 series oscilloscope support 2025-04-16 08:38:22 +02:00
usb-serial.c USB: serial: drop unused moduleparam includes 2026-05-11 09:34:13 +02:00
usb-wwan.h USB: serial: make usb_serial_driver::chars_in_buffer return uint 2021-05-19 10:56:41 +02:00
visor.c USB: serial: drop unused moduleparam includes 2026-05-11 09:34:13 +02:00
visor.h
whiteheat.c USB: serial: whiteheat: drop termbits include 2026-05-11 09:34:25 +02:00
whiteheat.h
wishbone-serial.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00
xr_serial.c USB: serial: xr: add missing uaccess include 2026-05-11 09:34:04 +02:00
xsens_mt.c USB: serial: drop unused uaccess includes 2026-05-11 09:34:08 +02:00