linux/drivers/usb/core
Andy Shevchenko 53809d38ec usb: Add checks for snprintf() calls in usb_alloc_dev()
[ Upstream commit 82fe5107fa ]

When creating a device path in the driver the snprintf() takes
up to 16 characters long argument along with the additional up to
12 characters for the signed integer (as it can't see the actual limits)
and tries to pack this into 16 bytes array. GCC complains about that
when build with `make W=1`:

  drivers/usb/core/usb.c:705:25: note: ‘snprintf’ output between 3 and 28 bytes into a destination of size 16

Since everything works until now, let's just check for the potential
buffer overflow and bail out. It is most likely a never happen situation,
but at least it makes GCC happy.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20250321164949.423957-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-07-06 11:01:35 +02:00
..
buffer.c - Yosry Ahmed brought back some cgroup v1 stats in OOM logs. 2023-06-28 10:28:11 -07:00
config.c USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor 2024-07-03 16:03:25 +02:00
devices.c USB: Remove remnants of Wireless USB and UWB 2023-08-09 14:17:06 +02:00
devio.c usb: convert to new timestamp accessors 2023-10-18 13:26:17 +02:00
driver.c Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
endpoint.c usb: core: constify the struct device_type usage 2024-02-19 09:35:46 +01:00
file.c USB: make usb class a const structure 2023-07-25 17:49:30 +02:00
generic.c usb: core: Fix crash w/ usb_choose_configuration() if no driver 2023-12-15 13:54:09 +01:00
hcd-pci.c usb: hcd-pci: Use PCI_IRQ_INTX instead of PCI_IRQ_LEGACY 2024-04-25 12:53:30 -05:00
hcd.c usb: core: hcd: only check primary hcd skip_phy_initialization 2024-12-19 18:13:03 +01:00
hub.c usb: Flush altsetting 0 endpoints before reinitializating them after reset. 2025-06-19 15:32:35 +02:00
hub.h Merge 6.9-rc2 into usb-next 2024-04-01 17:02:18 +02:00
Kconfig usb: core: Kconfig: Improve USB authorization mode help 2024-02-17 16:38:35 +01:00
ledtrig-usbport.c usb: core: Use module_led_trigger macro to simplify the code 2023-08-22 14:44:23 +02:00
Makefile usb: misc: onboard_hub: rename to onboard_dev 2024-03-27 07:57:16 +01:00
message.c USB: document some API requirements on disconnection 2024-03-02 20:37:14 +01:00
notify.c USB: core: Remove usbfs_mutex 2019-06-26 10:28:09 +08:00
of.c usb: core: add missing of_node_put() in usb_of_has_devices_or_graph 2024-07-03 16:04:10 +02:00
otg_productlist.h USB: OTG: rename product list of devices 2020-06-19 08:58:55 +02:00
phy.c usb: core: add phy notify connect and disconnect 2024-01-27 17:36:14 -08:00
phy.h usb: core: add phy notify connect and disconnect 2024-01-27 17:36:14 -08:00
port.c USB: core: Disable LPM only for non-suspended ports 2025-01-17 13:40:54 +01:00
quirks.c usb: quirks: Add NO_LPM quirk for SanDisk Extreme 55AE 2025-06-10 07:12:59 -04:00
sysfs.c usb: core: sysfs: Unmerge @usb3_hardware_lpm_attr_group in remove_power_attributes() 2024-08-22 17:29:50 +08:00
urb.c USB: Remove remnants of Wireless USB and UWB 2023-08-09 14:17:06 +02:00
usb-acpi.c usb: acpi: Prevent null pointer dereference in usb_acpi_add_usb4_devlink() 2025-06-19 15:32:12 +02:00
usb.c usb: Add checks for snprintf() calls in usb_alloc_dev() 2025-07-06 11:01:35 +02:00
usb.h usb: core: constify the struct device_type usage 2024-02-19 09:35:46 +01:00