Commit 6b2aa51d authored by Eduardo Valentin's avatar Eduardo Valentin Committed by Zhang Rui

thermal: check for invalid trip setup when registering thermal device

This patch adds an extra check in the data structure while registering
a thermal device. The check is to avoid registering zones with a number
of trips greater than zero, but with no .get_trip_temp nor .get_trip_type
callbacks. Receiving such data structure may end in wrong data access.
Signed-off-by: default avatarEduardo Valentin <>
Reviewed-by: default avatarDurgadoss R <>
Signed-off-by: default avatarZhang Rui <>
parent 923e0b1e
......@@ -1530,6 +1530,9 @@ struct thermal_zone_device *thermal_zone_device_register(const char *type,
if (!ops || !ops->get_temp)
return ERR_PTR(-EINVAL);
if (trips > 0 && !ops->get_trip_type)
return ERR_PTR(-EINVAL);
tz = kzalloc(sizeof(struct thermal_zone_device), GFP_KERNEL);
if (!tz)
return ERR_PTR(-ENOMEM);
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment