phy: tegra: xusb: check return value of devm_kzalloc()
authorClaudiu Beznea <claudiu.beznea@microchip.com>
Wed, 31 May 2023 07:39:50 +0000 (10:39 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:21:58 +0000 (16:21 +0200)
[ Upstream commit 44faada0f38fc333d392af04c343b0e23f8f5d81 ]

devm_kzalloc() returns a pointer to dynamically allocated memory.
Pointer could be NULL in case allocation fails. Check pointer validity.
Identified with coccinelle (kmerr.cocci script).

Fixes: f67213cee2b3 ("phy: tegra: xusb: Add usb-role-switch support")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Link: https://lore.kernel.org/r/20230531073950.145339-1-claudiu.beznea@microchip.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/phy/tegra/xusb.c

index c3fa22e..4d5b407 100644 (file)
@@ -670,6 +670,9 @@ static int tegra_xusb_setup_usb_role_switch(struct tegra_xusb_port *port)
        port->dev.driver = devm_kzalloc(&port->dev,
                                        sizeof(struct device_driver),
                                        GFP_KERNEL);
+       if (!port->dev.driver)
+               return -ENOMEM;
+
        port->dev.driver->owner  = THIS_MODULE;
 
        port->usb_role_sw = usb_role_switch_register(&port->dev,