1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/usb
Niels Dossche d088fabace usb: usbip: add missing device lock on tweak configuration cmd
The function documentation of usb_set_configuration says that its
callers should hold the device lock. This lock is held for all
callsites except tweak_set_configuration_cmd. The code path can be
executed for example when attaching a remote USB device.
The solution is to surround the call by the device lock.

This bug was found using my experimental own-developed static analysis
tool, which reported the missing lock on v5.17.2. I manually verified
this bug report by doing code review as well. I runtime checked that
the required lock is not held. I compiled and runtime tested this on
x86_64 with a USB mouse. After applying this patch, my analyser no
longer reports this potential bug.

Fixes: 2c8c981589 ("staging: usbip: let client choose device configuration")
Reviewed-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Niels Dossche <dossche.niels@gmail.com>
Link: https://lore.kernel.org/r/20220412165055.257113-1-dossche.niels@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-21 19:01:25 +02:00
..
atm exit: Rename complete_and_exit to kthread_complete_and_exit 2021-12-13 12:04:45 -06:00
c67x00 usb/c67x00: Replace tasklet with work 2021-01-26 18:36:37 +01:00
cdns3 Linux 5.17-rc2 2022-01-31 10:13:10 +01:00
chipidea usb: udc: Fix typo in comment 2022-01-31 14:24:39 +01:00
class usb: usbtmc: Fix bug in pipe direction for control transfers 2022-03-15 18:45:31 +01:00
common usb: common: usb-conn-gpio: Make VBUS supply completely optional 2022-03-15 18:22:15 +01:00
core USB/Thunderbolt patches for 5.18-rc1 2022-03-26 13:08:25 -07:00
dwc2 Merge 5.17-rc6 into usb-next 2022-02-28 21:42:36 +01:00
dwc3 drivers: usb: dwc3: Add AM62 USB wrapper driver 2022-04-21 18:31:56 +02:00
early usb: early: xhci-dbc: Fix xdbc number parsing 2022-03-15 18:20:34 +01:00
gadget usb: gadget: uvc: improve sg exit condition 2022-04-21 18:15:33 +02:00
host xen: branch for v5.18-rc1 2022-03-28 14:32:39 -07:00
image scsi: Remove drivers/scsi/scsi.h 2022-02-22 21:11:02 -05:00
isp1760 usb: isp1760: remove redundant max_packet() macro 2022-03-15 18:24:02 +01:00
misc usb: misc: USB_QCOM_EUD should depend on ARCH_QCOM 2022-02-24 11:19:55 +01:00
mon USB: mon: Use scnprintf() for avoiding potential buffer overflow 2020-03-12 09:49:28 +01:00
mtu3 usb: mtu3: set interval of FS intr and isoc endpoint 2021-12-21 09:05:45 +01:00
musb partially Revert "usb: musb: Set the DT node on the child device" 2022-03-15 15:49:15 +01:00
phy usb: Remove redundant 'flush_workqueue()' calls 2021-11-17 14:36:57 +01:00
renesas_usbhs usb: renesas_usbhs: Use platform_get_irq() to get the interrupt 2021-12-21 08:51:57 +01:00
roles usb: roles: add helper usb_role_string() 2021-05-27 09:17:18 +02:00
serial TTY/Serial driver changes for 5.18-rc1 2022-03-28 13:00:51 -07:00
storage USB/Thunderbolt patches for 5.18-rc1 2022-03-26 13:08:25 -07:00
typec usb: typec: tipd: Only update power status on IRQ 2022-04-21 18:31:08 +02:00
usbip usb: usbip: add missing device lock on tweak configuration cmd 2022-04-21 19:01:25 +02:00
Kconfig usb: remove reference to deleted config STB03xxx 2021-08-18 15:32:19 +02:00
Makefile usb: host: remove line for obsolete config USB_HWA_HCD 2021-08-18 15:32:19 +02:00
usb-skeleton.c usb: usb-skeleton: Update min() to min_t() 2021-10-05 12:56:48 +02:00