[PATCH] amd/pds_core: core: No need for Null pointer check before kfree

Bragatheswaran Manickavel posted 1 patch 2 years, 2 months ago
drivers/net/ethernet/amd/pds_core/core.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
[PATCH] amd/pds_core: core: No need for Null pointer check before kfree
Posted by Bragatheswaran Manickavel 2 years, 2 months ago
kfree()/vfree() internally perform NULL check on the
pointer handed to it and take no action if it indeed is
NULL. Hence there is no need for a pre-check of the memory
pointer before handing it to kfree()/vfree().

Issue reported by ifnullfree.cocci Coccinelle semantic
patch script.

Signed-off-by: Bragatheswaran Manickavel <bragathemanick0908@gmail.com>
---
 drivers/net/ethernet/amd/pds_core/core.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/amd/pds_core/core.c b/drivers/net/ethernet/amd/pds_core/core.c
index 2a8643e167e1..0d2091e9eb28 100644
--- a/drivers/net/ethernet/amd/pds_core/core.c
+++ b/drivers/net/ethernet/amd/pds_core/core.c
@@ -152,11 +152,8 @@ void pdsc_qcq_free(struct pdsc *pdsc, struct pdsc_qcq *qcq)
 		dma_free_coherent(dev, qcq->cq_size,
 				  qcq->cq_base, qcq->cq_base_pa);
 
-	if (qcq->cq.info)
-		vfree(qcq->cq.info);
-
-	if (qcq->q.info)
-		vfree(qcq->q.info);
+	vfree(qcq->cq.info);
+	vfree(qcq->q.info);
 
 	memset(qcq, 0, sizeof(*qcq));
 }
-- 
2.34.1
Re: [PATCH] amd/pds_core: core: No need for Null pointer check before kfree
Posted by patchwork-bot+netdevbpf@kernel.org 2 years, 2 months ago
Hello:

This patch was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:

On Tue, 24 Oct 2023 23:50:51 +0530 you wrote:
> kfree()/vfree() internally perform NULL check on the
> pointer handed to it and take no action if it indeed is
> NULL. Hence there is no need for a pre-check of the memory
> pointer before handing it to kfree()/vfree().
> 
> Issue reported by ifnullfree.cocci Coccinelle semantic
> patch script.
> 
> [...]

Here is the summary with links:
  - amd/pds_core: core: No need for Null pointer check before kfree
    https://git.kernel.org/netdev/net-next/c/d0110443cf4a

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
Re: [PATCH] amd/pds_core: core: No need for Null pointer check before kfree
Posted by Wojciech Drewek 2 years, 2 months ago

On 24.10.2023 20:20, Bragatheswaran Manickavel wrote:
> kfree()/vfree() internally perform NULL check on the
> pointer handed to it and take no action if it indeed is
> NULL. Hence there is no need for a pre-check of the memory
> pointer before handing it to kfree()/vfree().
> 
> Issue reported by ifnullfree.cocci Coccinelle semantic
> patch script.
> 
> Signed-off-by: Bragatheswaran Manickavel <bragathemanick0908@gmail.com>
> ---

Thanks for the patch!
One nit, you're missing a target tag. It should be [PATCH net-next] since this not a fix IMO.
Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>

>  drivers/net/ethernet/amd/pds_core/core.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/ethernet/amd/pds_core/core.c b/drivers/net/ethernet/amd/pds_core/core.c
> index 2a8643e167e1..0d2091e9eb28 100644
> --- a/drivers/net/ethernet/amd/pds_core/core.c
> +++ b/drivers/net/ethernet/amd/pds_core/core.c
> @@ -152,11 +152,8 @@ void pdsc_qcq_free(struct pdsc *pdsc, struct pdsc_qcq *qcq)
>  		dma_free_coherent(dev, qcq->cq_size,
>  				  qcq->cq_base, qcq->cq_base_pa);
>  
> -	if (qcq->cq.info)
> -		vfree(qcq->cq.info);
> -
> -	if (qcq->q.info)
> -		vfree(qcq->q.info);
> +	vfree(qcq->cq.info);
> +	vfree(qcq->q.info);
>  
>  	memset(qcq, 0, sizeof(*qcq));
>  }
Re: [PATCH] amd/pds_core: core: No need for Null pointer check before kfree
Posted by Bragatheswaran Manickavel 2 years, 2 months ago
Thanks Shannon!

On 25/10/23 14:52, Wojciech Drewek wrote:
>
> On 24.10.2023 20:20, Bragatheswaran Manickavel wrote:
>> kfree()/vfree() internally perform NULL check on the
>> pointer handed to it and take no action if it indeed is
>> NULL. Hence there is no need for a pre-check of the memory
>> pointer before handing it to kfree()/vfree().
>>
>> Issue reported by ifnullfree.cocci Coccinelle semantic
>> patch script.
>>
>> Signed-off-by: Bragatheswaran Manickavel <bragathemanick0908@gmail.com>
>> ---
> Thanks for the patch!
> One nit, you're missing a target tag. It should be [PATCH net-next] since this not a fix IMO.
> Reviewed-by: Wojciech Drewek <wojciech.drewek@intel.com>
Hi Wojciech,
Will take care of this next time. Thanks!
>>   drivers/net/ethernet/amd/pds_core/core.c | 7 ++-----
>>   1 file changed, 2 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/amd/pds_core/core.c b/drivers/net/ethernet/amd/pds_core/core.c
>> index 2a8643e167e1..0d2091e9eb28 100644
>> --- a/drivers/net/ethernet/amd/pds_core/core.c
>> +++ b/drivers/net/ethernet/amd/pds_core/core.c
>> @@ -152,11 +152,8 @@ void pdsc_qcq_free(struct pdsc *pdsc, struct pdsc_qcq *qcq)
>>   		dma_free_coherent(dev, qcq->cq_size,
>>   				  qcq->cq_base, qcq->cq_base_pa);
>>   
>> -	if (qcq->cq.info)
>> -		vfree(qcq->cq.info);
>> -
>> -	if (qcq->q.info)
>> -		vfree(qcq->q.info);
>> +	vfree(qcq->cq.info);
>> +	vfree(qcq->q.info);
>>   
>>   	memset(qcq, 0, sizeof(*qcq));
>>   }
Re: [PATCH] amd/pds_core: core: No need for Null pointer check before kfree
Posted by Nelson, Shannon 2 years, 2 months ago
On 10/24/2023 11:20 AM, Bragatheswaran Manickavel wrote:
> 
> kfree()/vfree() internally perform NULL check on the
> pointer handed to it and take no action if it indeed is
> NULL. Hence there is no need for a pre-check of the memory
> pointer before handing it to kfree()/vfree().
> 
> Issue reported by ifnullfree.cocci Coccinelle semantic
> patch script.
> 
> Signed-off-by: Bragatheswaran Manickavel <bragathemanick0908@gmail.com>

Thanks -sln

Reviewed-by: Shannon Nelson <shannon.nelson@amd.com>


> ---
>   drivers/net/ethernet/amd/pds_core/core.c | 7 ++-----
>   1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/ethernet/amd/pds_core/core.c b/drivers/net/ethernet/amd/pds_core/core.c
> index 2a8643e167e1..0d2091e9eb28 100644
> --- a/drivers/net/ethernet/amd/pds_core/core.c
> +++ b/drivers/net/ethernet/amd/pds_core/core.c
> @@ -152,11 +152,8 @@ void pdsc_qcq_free(struct pdsc *pdsc, struct pdsc_qcq *qcq)
>                  dma_free_coherent(dev, qcq->cq_size,
>                                    qcq->cq_base, qcq->cq_base_pa);
> 
> -       if (qcq->cq.info)
> -               vfree(qcq->cq.info);
> -
> -       if (qcq->q.info)
> -               vfree(qcq->q.info);
> +       vfree(qcq->cq.info);
> +       vfree(qcq->q.info);
> 
>          memset(qcq, 0, sizeof(*qcq));
>   }
> --
> 2.34.1
>