net: mvpp2: fix possible invalid pointer dereference

Message ID 20221115044632.181769-1-tanghui20@huawei.com
State New
Headers
Series net: mvpp2: fix possible invalid pointer dereference |

Commit Message

Hui Tang Nov. 15, 2022, 4:46 a.m. UTC
  It will cause invalid pointer dereference to priv->cm3_base behind,
if PTR_ERR(priv->cm3_base) in mvpp2_get_sram().

Fixes: a59d354208a7 ("net: mvpp2: enable global flow control")
Signed-off-by: Hui Tang <tanghui20@huawei.com>
---
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Leon Romanovsky Nov. 15, 2022, 8:42 a.m. UTC | #1
On Tue, Nov 15, 2022 at 12:46:32PM +0800, Hui Tang wrote:
> It will cause invalid pointer dereference to priv->cm3_base behind,
> if PTR_ERR(priv->cm3_base) in mvpp2_get_sram().
> 
> Fixes: a59d354208a7 ("net: mvpp2: enable global flow control")
> Signed-off-by: Hui Tang <tanghui20@huawei.com>
> ---
>  drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> index d98f7e9a480e..c92bd1922421 100644
> --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> @@ -7421,7 +7421,7 @@ static int mvpp2_probe(struct platform_device *pdev)
>  			dev_warn(&pdev->dev, "Fail to alloc CM3 SRAM\n");
>  
>  		/* Enable global Flow Control only if handler to SRAM not NULL */
> -		if (priv->cm3_base)
> +		if (!IS_ERR_OR_NULL(priv->cm3_base))
>  			priv->global_tx_fc = true;

The change is ok, but the patch title should include target, in your
case it is net -> [PATCH net] ....

Thanks

>  	}
>  
> -- 
> 2.17.1
>
  
Hui Tang Nov. 15, 2022, 8:50 a.m. UTC | #2
On 2022/11/15 16:42, Leon Romanovsky wrote:
> On Tue, Nov 15, 2022 at 12:46:32PM +0800, Hui Tang wrote:
>> It will cause invalid pointer dereference to priv->cm3_base behind,
>> if PTR_ERR(priv->cm3_base) in mvpp2_get_sram().
>>
>> Fixes: a59d354208a7 ("net: mvpp2: enable global flow control")
>> Signed-off-by: Hui Tang <tanghui20@huawei.com>
>> ---
>>  drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
>> index d98f7e9a480e..c92bd1922421 100644
>> --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
>> +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
>> @@ -7421,7 +7421,7 @@ static int mvpp2_probe(struct platform_device *pdev)
>>  			dev_warn(&pdev->dev, "Fail to alloc CM3 SRAM\n");
>>
>>  		/* Enable global Flow Control only if handler to SRAM not NULL */
>> -		if (priv->cm3_base)
>> +		if (!IS_ERR_OR_NULL(priv->cm3_base))
>>  			priv->global_tx_fc = true;
>
> The change is ok, but the patch title should include target, in your
> case it is net -> [PATCH net] ....

Thanks, I will fix it in v2.
  

Patch

diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
index d98f7e9a480e..c92bd1922421 100644
--- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
+++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
@@ -7421,7 +7421,7 @@  static int mvpp2_probe(struct platform_device *pdev)
 			dev_warn(&pdev->dev, "Fail to alloc CM3 SRAM\n");
 
 		/* Enable global Flow Control only if handler to SRAM not NULL */
-		if (priv->cm3_base)
+		if (!IS_ERR_OR_NULL(priv->cm3_base))
 			priv->global_tx_fc = true;
 	}