Patch[1/1]:ThermalFramework:Fix_crash_during_hwmon_unregister

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Len/Rui,

Ping..Any comments/thoughts on this patch..?

> -----Original Message-----
> From: linux-acpi-owner@xxxxxxxxxxxxxxx [mailto:linux-acpi-
> owner@xxxxxxxxxxxxxxx] On Behalf Of R, Durgadoss
> Sent: Thursday, January 20, 2011 2:56 PM
> To: Len Brown; Zhang, Rui
> Cc: linux-acpi@xxxxxxxxxxxxxxx
> Subject: Patch[1/1]:ThermalFramework:Fix_crash_during_hwmon_unregister
> 
> Hi Len/Rui,
> 
> This patch fixes the following bug:
> The thermal framework creates a temp*_crit interface, only when
> the get_crit_temp pointer is defined. But during the _unregister_
> path, without checking for the function definition, it is trying to
> remove the temp*_crit interface.
> 
> There can be a situation, where a driver registers with the framework
> and does not have a temp*_crit interface. When this driver attempts to
> unregister, this will cause a kernel crash.
> 
> ------------------------------------------------
> From: Durgadoss R <durgadoss.r@xxxxxxxxx>
> 
> Date: Thu, 20 Jan 2011 02:40:56 +0530
> Subject: [PATCH] Thermal_Framework-Fix_crash_during_hwmon_unregister
> 
> This patch fixes the following bug:
> The thermal framework creates a temp*_crit interface, only when
> the get_crit_temp pointer is defined. But during the _unregister_
> path, without checking for the function definition, it is trying to
> remove the temp*_crit interface.
> 
> Signed-off-by: Durgadoss R <durgadoss.r@xxxxxxxxx>
> 
> ---
>  drivers/thermal/thermal_sys.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c
> index 13c72c6..eef2e14 100644
> --- a/drivers/thermal/thermal_sys.c
> +++ b/drivers/thermal/thermal_sys.c
> @@ -556,7 +556,8 @@ thermal_remove_hwmon_sysfs(struct thermal_zone_device *tz)
> 
>  	tz->hwmon = NULL;
>  	device_remove_file(hwmon->device, &tz->temp_input.attr);
> -	device_remove_file(hwmon->device, &tz->temp_crit.attr);
> +	if (tz->ops->get_crit_temp)
> +		device_remove_file(hwmon->device, &tz->temp_crit.attr);
> 
>  	mutex_lock(&thermal_list_lock);
>  	list_del(&tz->hwmon_node);
> --
> 1.6.5.2
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux