linux/drivers/usb
Kuen-Han Tsai 9e4af87bd0 Revert "usb: gadget: u_serial: Add null pointer check in gs_start_io"
commit f6c7bc4a68 upstream.

This reverts commit ffd603f214.

Commit ffd603f214 ("usb: gadget: u_serial: Add null pointer check in
gs_start_io") adds null pointer checks at the beginning of the
gs_start_io() function to prevent a null pointer dereference. However,
these checks are redundant because the function's comment already
requires callers to hold the port_lock and ensure port.tty and port_usb
are not null. All existing callers already follow these rules.

The true cause of the null pointer dereference is a race condition. When
gs_start_io() calls either gs_start_rx() or gs_start_tx(), the port_lock
is temporarily released for usb_ep_queue(). This allows port.tty and
port_usb to be cleared.

Fixes: ffd603f214 ("usb: gadget: u_serial: Add null pointer check in gs_start_io")
Cc: stable <stable@kernel.org>
Signed-off-by: Kuen-Han Tsai <khtsai@google.com>
Reviewed-by: Prashanth K <prashanth.k@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250617050844.1848232-1-khtsai@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-07-17 18:37:12 +02:00
..
atm usb: atm: cxacru: fix a flaw in existing endpoint checks 2025-03-13 13:02:11 +01:00
c67x00 USB: c67x00: Remove unused declaration c67x00_hcd_msg_received() 2023-10-02 16:42:33 +02:00
cdns3 usb: cdnsp: Fix issue with CV Bad Descriptor test 2025-07-10 16:05:11 +02:00
chipidea usb: chipidea: udc: disconnect/reconnect from host when do suspend/resume 2025-07-10 16:05:11 +02:00
class usb: cdc-wdm: avoid setting WDM_READ for ZLP-s 2025-07-06 11:01:35 +02:00
common usb: common: usb-conn-gpio: use a unique name for usb connector device 2025-07-06 11:01:35 +02:00
core Logitech C-270 even more broken 2025-07-10 16:05:12 +02:00
dwc2 usb: dwc2: also exit clock_gating when stopping udc while suspended 2025-07-06 11:01:34 +02:00
dwc3 usb: dwc3: Abort suspend on soft disconnect failure 2025-07-10 16:05:11 +02:00
early usb: early: xhci-dbc: Use memcpy_and_pad() 2023-01-31 10:40:54 +01:00
fotg210 move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
gadget Revert "usb: gadget: u_serial: Add null pointer check in gs_start_io" 2025-07-17 18:37:12 +02:00
host xhci: Disable stream for xHC controller with XHCI_BROKEN_STREAMS 2025-07-10 16:05:10 +02:00
image scsi: core: Add a dma_alignment field to the host and host template 2024-04-11 21:37:48 -04:00
isp1760 move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
misc usb: misc: onboard_usb_dev: fix build warning for CONFIG_USB_ONBOARD_DEV_USB5744=n 2025-06-19 15:32:37 +02:00
mon [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
mtu3 tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
musb usb: musb: Fix hardware lockup on first Rx endpoint request 2024-12-05 14:03:00 +01:00
phy usb: phy: generic: Use proper helper for property detection 2025-03-22 12:54:16 -07:00
renesas_usbhs usb: renesas_usbhs: Reorder clock handling and power management in probe 2025-06-19 15:32:11 +02:00
roles usb: roles: set switch registered flag early on 2025-02-21 14:01:30 +01:00
serial USB: serial: pl2303: add new chip PL2303GC-Q20 and PL2303GT-2AB 2025-06-10 07:12:59 -04:00
storage usb: storage: Ignore UAS driver for SanDisk 3.2 Gen2 storage device 2025-06-10 07:12:59 -04:00
typec usb: typec: displayport: Fix potential deadlock 2025-07-10 16:05:13 +02:00
usbip Merge 6.11-rc3 into usb-next 2024-08-12 18:49:00 +02:00
Kconfig usb: pci-quirks: handle HAS_IOPORT dependency for AMD quirk 2023-10-02 16:19:12 +02:00
Makefile USB: xen-hcd: Traverse host/ when CONFIG_USB_XEN_HCD is selected 2024-06-04 15:33:38 +02:00
usb-skeleton.c usb: add usb_set_intfdata() documentation 2022-11-29 08:56:09 +01:00