Jiri Slaby 784454
From: Dan Carpenter <error27@gmail.com>
Jiri Slaby 784454
Date: Mon, 27 Feb 2023 13:06:50 +0300
Jiri Slaby 784454
Subject: [PATCH] thermal: intel: quark_dts: fix error pointer dereference
Jiri Slaby 784454
References: bsc#1012628
Jiri Slaby 784454
Patch-mainline: 6.2.5
Jiri Slaby 784454
Git-commit: f1b930e740811d416de4d2074da48b6633a672c8
Jiri Slaby 784454
Jiri Slaby 784454
[ Upstream commit f1b930e740811d416de4d2074da48b6633a672c8 ]
Jiri Slaby 784454
Jiri Slaby 784454
If alloc_soc_dts() fails, then we can just return.  Trying to free
Jiri Slaby 784454
"soc_dts" will lead to an Oops.
Jiri Slaby 784454
Jiri Slaby 784454
Fixes: 8c1876939663 ("thermal: intel Quark SoC X1000 DTS thermal driver")
Jiri Slaby 784454
Signed-off-by: Dan Carpenter <error27@gmail.com>
Jiri Slaby 784454
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Jiri Slaby 784454
Signed-off-by: Sasha Levin <sashal@kernel.org>
Jiri Slaby 784454
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby 784454
---
Jiri Slaby 784454
 drivers/thermal/intel/intel_quark_dts_thermal.c | 12 ++----------
Jiri Slaby 784454
 1 file changed, 2 insertions(+), 10 deletions(-)
Jiri Slaby 784454
Jiri Slaby 784454
diff --git a/drivers/thermal/intel/intel_quark_dts_thermal.c b/drivers/thermal/intel/intel_quark_dts_thermal.c
Jiri Slaby 784454
index 3eafc6b0..b43fbd5e 100644
Jiri Slaby 784454
--- a/drivers/thermal/intel/intel_quark_dts_thermal.c
Jiri Slaby 784454
+++ b/drivers/thermal/intel/intel_quark_dts_thermal.c
Jiri Slaby 784454
@@ -415,22 +415,14 @@ MODULE_DEVICE_TABLE(x86cpu, qrk_thermal_ids);
Jiri Slaby 784454
 
Jiri Slaby 784454
 static int __init intel_quark_thermal_init(void)
Jiri Slaby 784454
 {
Jiri Slaby 784454
-	int err = 0;
Jiri Slaby 784454
-
Jiri Slaby 784454
 	if (!x86_match_cpu(qrk_thermal_ids) || !iosf_mbi_available())
Jiri Slaby 784454
 		return -ENODEV;
Jiri Slaby 784454
 
Jiri Slaby 784454
 	soc_dts = alloc_soc_dts();
Jiri Slaby 784454
-	if (IS_ERR(soc_dts)) {
Jiri Slaby 784454
-		err = PTR_ERR(soc_dts);
Jiri Slaby 784454
-		goto err_free;
Jiri Slaby 784454
-	}
Jiri Slaby 784454
+	if (IS_ERR(soc_dts))
Jiri Slaby 784454
+		return PTR_ERR(soc_dts);
Jiri Slaby 784454
 
Jiri Slaby 784454
 	return 0;
Jiri Slaby 784454
-
Jiri Slaby 784454
-err_free:
Jiri Slaby 784454
-	free_soc_dts(soc_dts);
Jiri Slaby 784454
-	return err;
Jiri Slaby 784454
 }
Jiri Slaby 784454
 
Jiri Slaby 784454
 static void __exit intel_quark_thermal_exit(void)
Jiri Slaby 784454
-- 
Jiri Slaby 784454
2.35.3
Jiri Slaby 784454