mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-28 13:22:57 +00:00
thermal: intel: quark_dts: fix error pointer dereference
[ Upstream commitf1b930e740
] If alloc_soc_dts() fails, then we can just return. Trying to free "soc_dts" will lead to an Oops. Fixes:8c18769396
("thermal: intel Quark SoC X1000 DTS thermal driver") Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
5613c66f32
commit
0b366c6a42
1 changed files with 2 additions and 10 deletions
|
@ -440,22 +440,14 @@ MODULE_DEVICE_TABLE(x86cpu, qrk_thermal_ids);
|
|||
|
||||
static int __init intel_quark_thermal_init(void)
|
||||
{
|
||||
int err = 0;
|
||||
|
||||
if (!x86_match_cpu(qrk_thermal_ids) || !iosf_mbi_available())
|
||||
return -ENODEV;
|
||||
|
||||
soc_dts = alloc_soc_dts();
|
||||
if (IS_ERR(soc_dts)) {
|
||||
err = PTR_ERR(soc_dts);
|
||||
goto err_free;
|
||||
}
|
||||
if (IS_ERR(soc_dts))
|
||||
return PTR_ERR(soc_dts);
|
||||
|
||||
return 0;
|
||||
|
||||
err_free:
|
||||
free_soc_dts(soc_dts);
|
||||
return err;
|
||||
}
|
||||
|
||||
static void __exit intel_quark_thermal_exit(void)
|
||||
|
|
Loading…
Reference in a new issue