kernel_optimize_test/drivers/cpuidle
Anel Orazgaliyeva f03e0624e9 cpuidle: Fix kobject memory leaks in error paths
[ Upstream commit e5f5a66c9aa9c331da5527c2e3fd9394e7091e01 ]

Commit c343bf1ba5 ("cpuidle: Fix three reference count leaks")
fixes the cleanup of kobjects; however, it removes kfree() calls
altogether, leading to memory leaks.

Fix those and also defer the initialization of dev->kobj_dev until
after the error check, so that we do not end up with a dangling
pointer.

Fixes: c343bf1ba5 ("cpuidle: Fix three reference count leaks")
Signed-off-by: Anel Orazgaliyeva <anelkz@amazon.de>
Suggested-by: Aman Priyadarshi <apeureka@amazon.de>
[ rjw: Subject edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-11-18 14:04:05 +01:00
..
governors cpuidle: teo: Fix intervals[] array indexing bug 2020-01-13 11:14:58 +01:00
coupled.c cpuidle: coupled: fix warnings when compiling with W=1 2020-01-23 00:30:28 +01:00
cpuidle-arm.c thermal: cpuidle: Register cpuidle cooling device 2020-05-19 12:58:07 +02:00
cpuidle-at91.c drivers/cpuidle: Convert non-modular drivers to use builtin_platform_driver 2015-06-16 14:12:38 -04:00
cpuidle-big_little.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cpuidle-calxeda.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
cpuidle-clps711x.c cpuidle: clps711x: convert to devm_platform_ioremap_resource() 2019-12-20 10:04:27 +01:00
cpuidle-cps.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cpuidle-exynos.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cpuidle-haltpoll.c cpuidle-haltpoll: Fix small typo 2020-04-08 14:35:45 +02:00
cpuidle-kirkwood.c cpuidle: kirkwood: convert to devm_platform_ioremap_resource() 2019-12-20 10:05:44 +01:00
cpuidle-mvebu-v7.c cpuidle: mvebu: disable the bind/unbind attributes and use builtin_platform_driver 2015-10-23 12:40:48 +02:00
cpuidle-powernv.c powerpc/powernv/idle: add a basic stop 0-3 driver for POWER10 2020-09-15 22:13:38 +10:00
cpuidle-psci-domain.c cpuidle: psci: Allow PM domain to be initialized even if no OSI mode 2020-09-22 17:50:32 +02:00
cpuidle-psci.c cpuidle: psci: Fix suspicious RCU usage 2020-09-21 15:56:53 +02:00
cpuidle-psci.h cpuidle: psci: Fix error path via converting to a platform driver 2020-07-29 18:38:30 +02:00
cpuidle-pseries.c cpuidle: pseries: Mark pseries_idle_proble() as __init 2021-09-18 13:40:12 +02:00
cpuidle-qcom-spm.c cpuidle: Convert Qualcomm SPM driver to a generic CPUidle driver 2020-05-26 10:46:01 +02:00
cpuidle-tegra.c cpuidle: tegra: Fix C7 idling state on Tegra114 2021-05-11 14:47:16 +02:00
cpuidle-ux500.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
cpuidle-zynq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201 2019-05-30 11:29:52 -07:00
cpuidle.c Merge back cpuidle material for 5.10. 2020-09-28 16:31:25 +02:00
cpuidle.h cpuidle: allow governor switch on cpuidle_register_driver() 2019-09-11 17:36:30 +02:00
driver.c cpuidle: Drop unused cpuidle_driver_ref/unref() functions 2020-01-09 16:47:22 +01:00
dt_idle_states.c cpuidle: dt: Support hierarchical CPU idle states 2020-01-02 16:50:08 +01:00
dt_idle_states.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
governor.c cpuidle: Call cpu_latency_qos_limit() instead of pm_qos_request() 2020-02-13 11:26:57 +01:00
Kconfig cpuidle: Fix Kconfig indentation 2019-11-29 11:47:35 +01:00
Kconfig.arm cpuidle: Fix ARM_QCOM_SPM_CPUIDLE configuration 2021-05-14 09:50:16 +02:00
Kconfig.mips treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Kconfig.powerpc treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile cpuidle: psci: Split into two separate build objects 2020-07-29 18:38:30 +02:00
poll_state.c cpuidle: Drop disabled field from struct cpuidle_state 2019-11-29 11:48:39 +01:00
sysfs.c cpuidle: Fix kobject memory leaks in error paths 2021-11-18 14:04:05 +01:00