Avoid race while accessing tz->type. Cc: Zhang Rui <rui.zh...@intel.com> Cc: linux...@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Eduardo Valentin <edubez...@gmail.com> --- drivers/thermal/thermal_sysfs.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/thermal/thermal_sysfs.c b/drivers/thermal/thermal_sysfs.c index 4136b71..ee983ca 100644 --- a/drivers/thermal/thermal_sysfs.c +++ b/drivers/thermal/thermal_sysfs.c @@ -29,8 +29,13 @@ static ssize_t type_show(struct device *dev, struct device_attribute *attr, char *buf) { struct thermal_zone_device *tz = to_thermal_zone(dev); + char *type; - return sprintf(buf, "%s\n", tz->type); + mutex_lock(&tz->lock); + type = tz->type; + mutex_unlock(&tz->lock); + + return sprintf(buf, "%s\n", type); } static ssize_t -- 2.1.4