summaryrefslogtreecommitdiff
path: root/rust/kernel/alloc
diff options
context:
space:
mode:
authorLiu Zhenlong <dragonliu2018@gmail.com>2026-08-17 01:16:33 +0800
committerBjorn Helgaas <bhelgaas@google.com>2026-09-01 10:37:31 -0500
commita54ac2eb6eca8baa86b89494b8a0d9439a0f72ee (patch)
treee15ef3690cfe34ac9260cf33a14219a6cdb73d11 /rust/kernel/alloc
parentcee9395acd8043be0644b25c34bfa86623f2b935 (diff)
PCI: aspeed: Fix clk and PHY leak in aspeed_pcie_port_init() error paths
aspeed_pcie_port_init() calls clk_prepare_enable() to enable the port clock, but if phy_init() or phy_set_mode_ext() fails afterwards, the function returns without calling clk_disable_unprepare(), leaking the clock reference on every probe failure. Additionally, when phy_set_mode_ext() fails, phy_init() has already succeeded, so phy_exit() is also missing, leaking the PHY reference. Add the matching clk_disable_unprepare() to both error paths, and phy_exit() to the phy_set_mode_ext() failure path, mirroring the cleanup pattern in pci-aardvark. Compile-tested with gcc on arm64 defconfig using COMPILE_TEST. Fixes: 9aa0cb68fcc1 ("PCI: aspeed: Add ASPEED PCIe RC driver") Signed-off-by: Liu Zhenlong <dragonliu2018@gmail.com> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Assisted-by: LLM Cc: stable@vger.kernel.org Link: https://patch.msgid.link/20260816171633.15025-1-dragonliu2018@gmail.com
Diffstat (limited to 'rust/kernel/alloc')
0 files changed, 0 insertions, 0 deletions