Function dwc3_qcom_probe() allocates memory for resource structure
which is pointed by parent_res pointer. This memory is not
freed. This leads to memory leak. Use stack memory to prevent
memory leak.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: 2bc02355f8ba ("usb: dwc3: qcom: Add support for booting with ACPI")
Signed-off-by: Vladislav Efanov <VEfanov@ispras.ru>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Link: https://lore.kernel.org/r/20230517172518.442591-1-VEfanov@ispras.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        struct device           *dev = &pdev->dev;
        struct dwc3_qcom        *qcom;
        struct resource         *res, *parent_res = NULL;
+       struct resource         local_res;
        int                     ret, i;
        bool                    ignore_pipe_clk;
        bool                    wakeup_source;
        if (np) {
                parent_res = res;
        } else {
-               parent_res = kmemdup(res, sizeof(struct resource), GFP_KERNEL);
-               if (!parent_res)
-                       return -ENOMEM;
+               memcpy(&local_res, res, sizeof(struct resource));
+               parent_res = &local_res;
 
                parent_res->start = res->start +
                        qcom->acpi_pdata->qscratch_base_offset;