[ Upstream commit 93c66fbc280747ea700bd6199633d661e3c819b3 ] powercap_register_control_type() calls device_register(), but does not release the refcount of the device when it fails. Call put_device() before returning an error to balance the refcount. Since the kfree(control_type) will be done by powercap_release(), remove the lines in powercap_register_control_type() before returning the error. This bug was found by an experimental verifier that I am developing. Signed-off-by: Joe Hattori <joe@pf.is.s.u-tokyo.ac.jp> Link: https://patch.msgid.link/20250110010554.1583411-1-joe@pf.is.s.u-tokyo.ac.jp [ rjw: Changelog edits ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
|---|---|---|
| .. | ||
| arm_scmi_powercap.c | ||
| dtpm_cpu.c | ||
| dtpm_devfreq.c | ||
| dtpm_subsys.h | ||
| dtpm.c | ||
| idle_inject.c | ||
| intel_rapl_common.c | ||
| intel_rapl_msr.c | ||
| intel_rapl_tpmi.c | ||
| Kconfig | ||
| Makefile | ||
| powercap_sys.c | ||