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 |
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>
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 --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;
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(-)