[PATCH] drivers: soc: xilinx: check return status of get_api_version()

Jay Buddhabhatti jay.buddhabhatti at amd.com
Tue Apr 23 23:31:18 PDT 2024


Check return status of pm_get_api_version and return error in case of failure to
avoid checking uninitialized pm_api_version variable from stack.

The issue is also reported by smatch on x86 as "warning: 'pm_api_version' is
used uninitialized".

Fixes: b9b3a8be28b3 ("firmware: xilinx: Remove eemi ops for get_api_version")
Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti at amd.com>
---
 drivers/soc/xilinx/zynqmp_power.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/xilinx/zynqmp_power.c b/drivers/soc/xilinx/zynqmp_power.c
index 965b1143936a..8570ab1a6857 100644
--- a/drivers/soc/xilinx/zynqmp_power.c
+++ b/drivers/soc/xilinx/zynqmp_power.c
@@ -3,6 +3,7 @@
  * Xilinx Zynq MPSoC Power Management
  *
  *  Copyright (C) 2014-2019 Xilinx, Inc.
+ *  Copyright (C) 2024, Advanced Micro Devices, Inc.
  *
  *  Davorin Mista <davorin.mista at aggios.com>
  *  Jolly Shah <jollys at xilinx.com>
@@ -190,7 +191,9 @@ static int zynqmp_pm_probe(struct platform_device *pdev)
 	u32 pm_api_version;
 	struct mbox_client *client;
 
-	zynqmp_pm_get_api_version(&pm_api_version);
+	ret = zynqmp_pm_get_api_version(&pm_api_version);
+	if (ret)
+		return ret;
 
 	/* Check PM API version number */
 	if (pm_api_version < ZYNQMP_PM_VERSION)
-- 
2.17.1




More information about the linux-arm-kernel mailing list