Commit 8fcd3c31 authored by Miaoqian Lin's avatar Miaoqian Lin Committed by Jialin Zhang
Browse files

usb: dwc3: dwc3-qcom: Add missing platform_device_put() in dwc3_qcom_acpi_register_core

mainline inclusion
from mainline-v5.17-rc1
commit fa0ef938
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I6IEH4
CVE: CVE-2023-22995

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fa0ef93868a6062babe1144df2807a8b1d4924d2



--------------------------------

Add the missing platform_device_put() before return from
dwc3_qcom_acpi_register_core in the error handling case.

Signed-off-by: default avatarMiaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20211231113641.31474-1-linmq006@gmail.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fixes: 2bc02355 ("usb: dwc3: qcom: Add support for booting with ACPI")
[Fix conflict due to lack of 8dc6e6dd]
Conflict:
	drivers/usb/dwc3/dwc3-qcom.c
Signed-off-by: default avatarZheng Yejian <zhengyejian1@huawei.com>
Reviewed-by: default avatarXu Kuohai <xukuohai@huawei.com>
Reviewed-by: default avatarXiu Jianfeng <xiujianfeng@huawei.com>
Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parent ef4165a6
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -606,8 +606,10 @@ static int dwc3_qcom_acpi_register_core(struct platform_device *pdev)
	qcom->dwc3->dev.coherent_dma_mask = dev->coherent_dma_mask;

	child_res = kcalloc(2, sizeof(*child_res), GFP_KERNEL);
	if (!child_res)
	if (!child_res) {
		platform_device_put(qcom->dwc3);
		return -ENOMEM;
	}

	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	if (!res) {
@@ -643,10 +645,15 @@ static int dwc3_qcom_acpi_register_core(struct platform_device *pdev)
	}

	ret = platform_device_add(qcom->dwc3);
	if (ret)
	if (ret) {
		dev_err(&pdev->dev, "failed to add device\n");
		goto out;
	}
	kfree(child_res);
	return 0;

out:
	platform_device_put(qcom->dwc3);
	kfree(child_res);
	return ret;
}