linux-stable/drivers/usb
Greg Kroah-Hartman 0b3144da31 USB: make single lock for all usb dynamic id lists
There are a number of places where we accidentally pass in a constant
structure to later cast it off to a dynamic one, and then attempt to
grab a lock on it, which is not a good idea.  To help resolve this, move
the dynamic id lock out of the dynamic id structure for the driver and
into one single lock for all USB dynamic ids.  As this lock should never
have any real contention (it's only every accessed when a device is
added or removed, which is always serialized) there should not be any
difference except for some memory savings.

Note, this just converts the existing use of the dynamic id lock to the
new static lock, there is one place that is accessing the dynamic id
list without grabbing the lock, that will be fixed up in a follow-on
change.

Cc: Johan Hovold <johan@kernel.org>
Cc: Herve Codina <herve.codina@bootlin.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Grant Grundler <grundler@chromium.org>
Cc: Oliver Neukum <oneukum@suse.com>
Cc: Yajun Deng <yajun.deng@linux.dev>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: linux-usb@vger.kernel.org
Link: https://lore.kernel.org/r/2024111322-kindly-finalist-d247@gregkh
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-14 17:05:20 +01:00
..
atm Merge 6.12-rc3 into usb-next 2024-10-14 08:03:44 +02:00
c67x00 usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
cdns3 usb: cdns3: Synchronise PCI IDs via common data base 2024-11-13 07:16:31 +01:00
chipidea usb: chipidea: imx: add imx8ulp support 2024-11-12 12:15:04 +01:00
class move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
common USB: make single lock for all usb dynamic id lists 2024-11-14 17:05:20 +01:00
core USB: make single lock for all usb dynamic id lists 2024-11-14 17:05:20 +01:00
dwc2 Merge v6.12-rc6 into usb-next 2024-11-05 09:56:08 +01:00
dwc3 usb: dwc3: core: Set force_gen1 bit for all applicable SuperSpeed ports 2024-11-13 07:13:09 +01:00
early usb: early: xhci-dbc: Use memcpy_and_pad() 2023-01-31 10:40:54 +01:00
fotg210 Merge 6.12-rc3 into usb-next 2024-10-14 08:03:44 +02:00
gadget drivers/usb/gadget: refactor min with min_t 2024-11-13 15:09:50 +01:00
host drivers/usb/host: refactor min/max with min_t/max_t 2024-11-13 15:09:50 +01:00
image scsi: core: Add a dma_alignment field to the host and host template 2024-04-11 21:37:48 -04:00
isp1760 Merge 6.12-rc3 into usb-next 2024-10-14 08:03:44 +02:00
misc drivers/usb/misc: refactor min with min_t 2024-11-13 15:09:51 +01:00
mon drivers/usb/mon: refactor min with min_t 2024-11-13 15:09:51 +01:00
mtu3 usb: Use (of|device)_property_present() for non-boolean properties 2024-11-05 13:29:26 +01:00
musb drivers/usb/musb: refactor min/max with min_t/max_t 2024-11-13 15:09:51 +01:00
phy usb: Use (of|device)_property_present() for non-boolean properties 2024-11-05 13:29:26 +01:00
renesas_usbhs usb: Use (of|device)_property_present() for non-boolean properties 2024-11-05 13:29:26 +01:00
roles usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
serial USB: make single lock for all usb dynamic id lists 2024-11-14 17:05:20 +01:00
storage drivers/usb/storage: refactor min with min_t 2024-11-13 15:09:51 +01:00
typec usb: typec: fix potential array underflow in ucsi_ccg_sync_control() 2024-11-12 12:54:01 +01:00
usbip usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +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