Message ID | fdd4f94d-fb8c-44a0-9472-3485a567caca@moroto.mountain (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | usb: usb-acpi: fix uninitialized variable in usb_acpi_get_connect_type() | expand |
On 15.3.2024 17.21, Dan Carpenter wrote: > The "pld" pointer is uninitialized if acpi_get_physical_device_location() > fails. Initialize it to NULL. > > Fixes: f3ac348e6e04 ("usb: usb-acpi: Set port connect type of not connectable ports correctly") > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > --- I sent a similar patch a week ago, just before merge window opened. looks like it didn't make it. https://lore.kernel.org/linux-usb/20240308113425.1144689-1-mathias.nyman@linux.intel.com/ Thanks Mathias
On Fri, Mar 15, 2024 at 05:36:16PM +0200, Mathias Nyman wrote: > On 15.3.2024 17.21, Dan Carpenter wrote: > > The "pld" pointer is uninitialized if acpi_get_physical_device_location() > > fails. Initialize it to NULL. > > > > Fixes: f3ac348e6e04 ("usb: usb-acpi: Set port connect type of not connectable ports correctly") > > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > > --- > > I sent a similar patch a week ago, just before merge window opened. > looks like it didn't make it. > > https://lore.kernel.org/linux-usb/20240308113425.1144689-1-mathias.nyman@linux.intel.com/ Huh. That's interesting that this bug was causing issues in real life. I thought everyone was using the GCC extension to zero stack variables. I've only been fixing uninitialized variable bugs out of sense of stubbornness and to boost my patch count. :P regards, dan carpenter
diff --git a/drivers/usb/core/usb-acpi.c b/drivers/usb/core/usb-acpi.c index f250dfc3b14d..2aeeaa389380 100644 --- a/drivers/usb/core/usb-acpi.c +++ b/drivers/usb/core/usb-acpi.c @@ -153,8 +153,8 @@ usb_acpi_get_connect_type(struct usb_port *port_dev, acpi_handle *handle) { enum usb_port_connect_type connect_type = USB_PORT_CONNECT_TYPE_UNKNOWN; struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; + struct acpi_pld_info *pld = NULL; union acpi_object *upc = NULL; - struct acpi_pld_info *pld; acpi_status status; /*
The "pld" pointer is uninitialized if acpi_get_physical_device_location() fails. Initialize it to NULL. Fixes: f3ac348e6e04 ("usb: usb-acpi: Set port connect type of not connectable ports correctly") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> --- drivers/usb/core/usb-acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)