[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4e28affd89ba8a852e0fb7ace076458b3d43839a.camel@intel.com>
Date:   Tue, 17 Nov 2020 15:18:57 +0800
From:   Zhang Rui <rui.zhang@...el.com>
To:     Mukesh Ojha <mojha@...eaurora.org>, linux-pm@...r.kernel.org,
        linux-kernel@...r.kernel.org
Cc:     daniel.lezcano@...aro.org, amitk@...nel.org
Subject: Re: [PATCH] thermal: Fix NULL pointer dereference issue
On Mon, 2020-11-16 at 21:59 +0530, Mukesh Ojha wrote:
> Cooling stats variable inside thermal_cooling_device_stats_update()
> can get NULL. We should add a NULL check on stat inside for sanity.
> 
> Signed-off-by: Mukesh Ojha <mojha@...eaurora.org>
> ---
>  drivers/thermal/thermal_sysfs.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/thermal/thermal_sysfs.c
> b/drivers/thermal/thermal_sysfs.c
> index a6f371f..f52708f 100644
> --- a/drivers/thermal/thermal_sysfs.c
> +++ b/drivers/thermal/thermal_sysfs.c
> @@ -754,6 +754,9 @@ void thermal_cooling_device_stats_update(struct
> thermal_cooling_device *cdev,
>  {
>  	struct cooling_dev_stats *stats = cdev->stats;
>  
> +	if (!stats)
> +		return;
> +
May I know in which case stats can be NULL?
The only possibility I can see is that cdev->ops->get_max_state() fails
in cooling_device_stats_setup(), right?
thanks,
rui
>  	spin_lock(&stats->lock);
>  
>  	if (stats->state == new_state)
Powered by blists - more mailing lists
 
