thermal: Validate new state in cur_state_store()
authorViresh Kumar <viresh.kumar@linaro.org>
Mon, 17 Oct 2022 10:03:01 +0000 (15:33 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 25 Oct 2022 16:58:11 +0000 (18:58 +0200)
commitc408b3d1d9bbc7de5fb0304fea424ef2539da616
tree4df01a831c649894ec6666e0e5758b5ccbe457e1
parent247f34f7b80357943234f93f247a1ae6b6c3a740
thermal: Validate new state in cur_state_store()

In cur_state_store(), the new state of the cooling device is received
from user-space and is not validated by the thermal core but the same is
left for the individual drivers to take care of. Apart from duplicating
the code it leaves possibility for introducing bugs where a driver may
not do it right.

Lets make the thermal core check the new state itself and store the max
value in the cooling device structure.

Link: https://lore.kernel.org/all/Y0ltRJRjO7AkawvE@kili/
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/thermal/gov_fair_share.c
drivers/thermal/thermal_core.c
drivers/thermal/thermal_sysfs.c
include/linux/thermal.h