diff mbox series

[next] hwmon: axi-fan-control: fix uninitialized dereference of pointer res

Message ID 20200211162059.94233-1-colin.king@canonical.com (mailing list archive)
State Not Applicable
Headers show
Series [next] hwmon: axi-fan-control: fix uninitialized dereference of pointer res | expand

Commit Message

Colin King Feb. 11, 2020, 4:20 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

Currently the resource pointer ret is uninitialized and it is
being dereferenced when printing out a debug message. Fix this
by fetching the resource and assigning pointer res.  It is
a moot point that we sanity check for a null res since a successful
call to devm_platform_ioremap_resource has already occurred so
in theory it should never be non-null.

Addresses-Coverity: ("Uninitialized pointer read")
Fixes: 690dd9ce04f6 ("hwmon: Support ADI Fan Control IP")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/hwmon/axi-fan-control.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Guenter Roeck Feb. 11, 2020, 4:39 p.m. UTC | #1
On Tue, Feb 11, 2020 at 04:20:59PM +0000, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> Currently the resource pointer ret is uninitialized and it is
> being dereferenced when printing out a debug message. Fix this
> by fetching the resource and assigning pointer res.  It is
> a moot point that we sanity check for a null res since a successful
> call to devm_platform_ioremap_resource has already occurred so
> in theory it should never be non-null.
> 
> Addresses-Coverity: ("Uninitialized pointer read")
> Fixes: 690dd9ce04f6 ("hwmon: Support ADI Fan Control IP")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>

This has already been fixed by removing the message (and the
then unused variable). The message was useless anyway since
it printed the remapped address with %p.

Guenter

> ---
>  drivers/hwmon/axi-fan-control.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/hwmon/axi-fan-control.c b/drivers/hwmon/axi-fan-control.c
> index 8041ba7cc152..36e0d060510a 100644
> --- a/drivers/hwmon/axi-fan-control.c
> +++ b/drivers/hwmon/axi-fan-control.c
> @@ -415,6 +415,9 @@ static int axi_fan_control_probe(struct platform_device *pdev)
>  	if (!ctl->clk_rate)
>  		return -EINVAL;
>  
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +	if (!res)
> +		return -EINVAL;
>  	dev_dbg(&pdev->dev, "Re-mapped from 0x%08llX to %p\n",
>  		(unsigned long long)res->start, ctl->base);
>  
> -- 
> 2.25.0
>
Colin King Feb. 11, 2020, 4:41 p.m. UTC | #2
On 11/02/2020 16:39, Guenter Roeck wrote:
> On Tue, Feb 11, 2020 at 04:20:59PM +0000, Colin King wrote:
>> From: Colin Ian King <colin.king@canonical.com>
>>
>> Currently the resource pointer ret is uninitialized and it is
>> being dereferenced when printing out a debug message. Fix this
>> by fetching the resource and assigning pointer res.  It is
>> a moot point that we sanity check for a null res since a successful
>> call to devm_platform_ioremap_resource has already occurred so
>> in theory it should never be non-null.
>>
>> Addresses-Coverity: ("Uninitialized pointer read")
>> Fixes: 690dd9ce04f6 ("hwmon: Support ADI Fan Control IP")
>> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> 
> This has already been fixed by removing the message (and the
> then unused variable). The message was useless anyway since
> it printed the remapped address with %p.
> 
> Guenter

OK, thanks. My static anaylsis can't keep up!
> 
>> ---
>>  drivers/hwmon/axi-fan-control.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/hwmon/axi-fan-control.c b/drivers/hwmon/axi-fan-control.c
>> index 8041ba7cc152..36e0d060510a 100644
>> --- a/drivers/hwmon/axi-fan-control.c
>> +++ b/drivers/hwmon/axi-fan-control.c
>> @@ -415,6 +415,9 @@ static int axi_fan_control_probe(struct platform_device *pdev)
>>  	if (!ctl->clk_rate)
>>  		return -EINVAL;
>>  
>> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> +	if (!res)
>> +		return -EINVAL;
>>  	dev_dbg(&pdev->dev, "Re-mapped from 0x%08llX to %p\n",
>>  		(unsigned long long)res->start, ctl->base);
>>  
>> -- 
>> 2.25.0
>>
diff mbox series

Patch

diff --git a/drivers/hwmon/axi-fan-control.c b/drivers/hwmon/axi-fan-control.c
index 8041ba7cc152..36e0d060510a 100644
--- a/drivers/hwmon/axi-fan-control.c
+++ b/drivers/hwmon/axi-fan-control.c
@@ -415,6 +415,9 @@  static int axi_fan_control_probe(struct platform_device *pdev)
 	if (!ctl->clk_rate)
 		return -EINVAL;
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (!res)
+		return -EINVAL;
 	dev_dbg(&pdev->dev, "Re-mapped from 0x%08llX to %p\n",
 		(unsigned long long)res->start, ctl->base);