Commit b493ab0e authored by Johan Hovold's avatar Johan Hovold Committed by He Yujie
Browse files

phy: qcom-qmp: fix struct clk leak on probe errors

stable inclusion
from stable-v4.19.247
commit 621a4bcfb7aa031e7760d7b156bad7a45df58387
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBP2VQ
CVE: CVE-2022-49397

Reference: https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=621a4bcfb7aa031e7760d7b156bad7a45df58387



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

commit f0a4bc38 upstream.

Make sure to release the pipe clock reference in case of a late probe
error (e.g. probe deferral).

Fixes: e78f3d15 ("phy: qcom-qmp: new qmp phy driver for qcom-chipsets")
Cc: stable@vger.kernel.org      # 4.12
Cc: Vivek Gautam <vivek.gautam@codeaurora.org>
Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: default avatarJohan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20220427063243.32576-2-johan+linaro@kernel.org


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarHe Yujie <coka.heyujie@huawei.com>
parent d734d6bb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1466,7 +1466,7 @@ int qcom_qmp_phy_create(struct device *dev, struct device_node *np, int id)
	 * all phys that don't need this.
	 */
	snprintf(prop_name, sizeof(prop_name), "pipe%d", id);
	qphy->pipe_clk = of_clk_get_by_name(np, prop_name);
	qphy->pipe_clk = devm_get_clk_from_child(dev, np, prop_name);
	if (IS_ERR(qphy->pipe_clk)) {
		if (qmp->cfg->type == PHY_TYPE_PCIE ||
		    qmp->cfg->type == PHY_TYPE_USB3) {