Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7516709 authored by Thomas Sujith's avatar Thomas Sujith Committed by Len Brown
Browse files

thermal: validate input parameters



Added sanity check to make sure that thermal zone
and cooling device exists.

Signed-off-by: default avatarThomas Sujith <sujith.thomas@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 101142c3
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -306,12 +306,23 @@ int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
{
	struct thermal_cooling_device_instance *dev;
	struct thermal_cooling_device_instance *pos;
	struct thermal_zone_device *pos1;
	struct thermal_cooling_device *pos2;
	int result;

	if (trip >= tz->trips || (trip < 0 && trip != THERMAL_TRIPS_NONE))
		return -EINVAL;

	if (!tz || !cdev)
	list_for_each_entry(pos1, &thermal_tz_list, node) {
		if (pos1 == tz)
			break;
	}
	list_for_each_entry(pos2, &thermal_cdev_list, node) {
		if (pos2 == cdev)
			break;
	}

	if (tz != pos1 || cdev != pos2)
		return -EINVAL;

	dev =