diff mbox series

platform/mellanox: mlxbf-pmc: fix sscanf() error checking

Message ID 4ccdfd28-099b-40bf-8d77-ad4ea2e76b93@kili.mountain (mailing list archive)
State Accepted, archived
Headers show
Series platform/mellanox: mlxbf-pmc: fix sscanf() error checking | expand

Commit Message

Dan Carpenter May 15, 2023, 10:32 a.m. UTC
The sscanf() function never returns negatives.  It returns the number of
items successfully read.

Fixes: 1a218d312e65 ("platform/mellanox: mlxbf-pmc: Add Mellanox BlueField PMC driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
 drivers/platform/mellanox/mlxbf-pmc.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Comments

Ilpo Järvinen May 15, 2023, 12:37 p.m. UTC | #1
On Mon, 15 May 2023, Dan Carpenter wrote:

> The sscanf() function never returns negatives.  It returns the number of
> items successfully read.
> 
> Fixes: 1a218d312e65 ("platform/mellanox: mlxbf-pmc: Add Mellanox BlueField PMC driver")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
>  drivers/platform/mellanox/mlxbf-pmc.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/platform/mellanox/mlxbf-pmc.c b/drivers/platform/mellanox/mlxbf-pmc.c
> index c2c9b0d3244c..be967d797c28 100644
> --- a/drivers/platform/mellanox/mlxbf-pmc.c
> +++ b/drivers/platform/mellanox/mlxbf-pmc.c
> @@ -1348,9 +1348,8 @@ static int mlxbf_pmc_map_counters(struct device *dev)
>  
>  	for (i = 0; i < pmc->total_blocks; ++i) {
>  		if (strstr(pmc->block_name[i], "tile")) {
> -			ret = sscanf(pmc->block_name[i], "tile%d", &tile_num);
> -			if (ret < 0)
> -				return ret;
> +			if (sscanf(pmc->block_name[i], "tile%d", &tile_num) != 1)
> +				return -EINVAL;
>  
>  			if (tile_num >= pmc->tile_count)
>  				continue;

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Hans de Goede May 15, 2023, 12:59 p.m. UTC | #2
Hi,

On 5/15/23 14:37, Ilpo Järvinen wrote:
> On Mon, 15 May 2023, Dan Carpenter wrote:
> 
>> The sscanf() function never returns negatives.  It returns the number of
>> items successfully read.
>>
>> Fixes: 1a218d312e65 ("platform/mellanox: mlxbf-pmc: Add Mellanox BlueField PMC driver")
>> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
>> ---
>>  drivers/platform/mellanox/mlxbf-pmc.c | 5 ++---
>>  1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/platform/mellanox/mlxbf-pmc.c b/drivers/platform/mellanox/mlxbf-pmc.c
>> index c2c9b0d3244c..be967d797c28 100644
>> --- a/drivers/platform/mellanox/mlxbf-pmc.c
>> +++ b/drivers/platform/mellanox/mlxbf-pmc.c
>> @@ -1348,9 +1348,8 @@ static int mlxbf_pmc_map_counters(struct device *dev)
>>  
>>  	for (i = 0; i < pmc->total_blocks; ++i) {
>>  		if (strstr(pmc->block_name[i], "tile")) {
>> -			ret = sscanf(pmc->block_name[i], "tile%d", &tile_num);
>> -			if (ret < 0)
>> -				return ret;
>> +			if (sscanf(pmc->block_name[i], "tile%d", &tile_num) != 1)
>> +				return -EINVAL;
>>  
>>  			if (tile_num >= pmc->tile_count)
>>  				continue;
> 
> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Thank you for your patch, I've applied this patch to my fixes
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes

Note it will show up in my fixes branch once I've pushed my
local branch there, which might take a while.

I will include this patch in my next fixes pull-req to Linus
for the current kernel development cycle.

Regards,

Hans
diff mbox series

Patch

diff --git a/drivers/platform/mellanox/mlxbf-pmc.c b/drivers/platform/mellanox/mlxbf-pmc.c
index c2c9b0d3244c..be967d797c28 100644
--- a/drivers/platform/mellanox/mlxbf-pmc.c
+++ b/drivers/platform/mellanox/mlxbf-pmc.c
@@ -1348,9 +1348,8 @@  static int mlxbf_pmc_map_counters(struct device *dev)
 
 	for (i = 0; i < pmc->total_blocks; ++i) {
 		if (strstr(pmc->block_name[i], "tile")) {
-			ret = sscanf(pmc->block_name[i], "tile%d", &tile_num);
-			if (ret < 0)
-				return ret;
+			if (sscanf(pmc->block_name[i], "tile%d", &tile_num) != 1)
+				return -EINVAL;
 
 			if (tile_num >= pmc->tile_count)
 				continue;