2021-10-18 10:31:09

by 王擎

[permalink] [raw]
Subject: [PATCH V2] media: i2c: ccs: replace snprintf in show functions with sysfs_emit

show() should not use snprintf() when formatting the value to be
returned to user space.

Fix the following coccicheck warning:
drivers/media/i2c/ccs/ccs-core.c:3761: WARNING: use scnprintf or sprintf.

Signed-off-by: Qing Wang <[email protected]>
---
drivers/media/i2c/ccs/ccs-core.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/media/i2c/ccs/ccs-core.c b/drivers/media/i2c/ccs/ccs-core.c
index 5363f3b..9158d3c
--- a/drivers/media/i2c/ccs/ccs-core.c
+++ b/drivers/media/i2c/ccs/ccs-core.c
@@ -2758,13 +2758,13 @@ ident_show(struct device *dev, struct device_attribute *attr, char *buf)
struct ccs_module_info *minfo = &sensor->minfo;

if (minfo->mipi_manufacturer_id)
- return snprintf(buf, PAGE_SIZE, "%4.4x%4.4x%2.2x\n",
- minfo->mipi_manufacturer_id, minfo->model_id,
- minfo->revision_number) + 1;
+ return sysfs_emit(buf, "%4.4x%4.4x%2.2x\n",
+ minfo->mipi_manufacturer_id, minfo->model_id,
+ minfo->revision_number) + 1;
else
- return snprintf(buf, PAGE_SIZE, "%2.2x%4.4x%2.2x\n",
- minfo->smia_manufacturer_id, minfo->model_id,
- minfo->revision_number) + 1;
+ return sysfs_emit(buf, "%2.2x%4.4x%2.2x\n",
+ minfo->smia_manufacturer_id, minfo->model_id,
+ minfo->revision_number) + 1;
}
static DEVICE_ATTR_RO(ident);

--
2.7.4


2021-10-19 14:56:09

by Kieran Bingham

[permalink] [raw]
Subject: Re: [PATCH V2] media: i2c: ccs: replace snprintf in show functions with sysfs_emit

Hello,

Quoting Qing Wang (2021-10-18 09:00:36)
> show() should not use snprintf() when formatting the value to be
> returned to user space.
>
> Fix the following coccicheck warning:
> drivers/media/i2c/ccs/ccs-core.c:3761: WARNING: use scnprintf or sprintf.
>

Thank you for posting a v2 with the lines adjusted ...

> Signed-off-by: Qing Wang <[email protected]>
> ---
> drivers/media/i2c/ccs/ccs-core.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/media/i2c/ccs/ccs-core.c b/drivers/media/i2c/ccs/ccs-core.c
> index 5363f3b..9158d3c
> --- a/drivers/media/i2c/ccs/ccs-core.c
> +++ b/drivers/media/i2c/ccs/ccs-core.c
> @@ -2758,13 +2758,13 @@ ident_show(struct device *dev, struct device_attribute *attr, char *buf)
> struct ccs_module_info *minfo = &sensor->minfo;
>
> if (minfo->mipi_manufacturer_id)
> - return snprintf(buf, PAGE_SIZE, "%4.4x%4.4x%2.2x\n",
> - minfo->mipi_manufacturer_id, minfo->model_id,
> - minfo->revision_number) + 1;
> + return sysfs_emit(buf, "%4.4x%4.4x%2.2x\n",
> + minfo->mipi_manufacturer_id, minfo->model_id,
> + minfo->revision_number) + 1;

However they are still not lined up correctly.
It should look like:


return sysfs_emit(buf, "%4.4x%4.4x%2.2x\n",
minfo->mipi_manufacturer_id, minfo->model_id,
minfo->revision_number) + 1;

With the m from 'minfo' aligned directly below the b from 'buf' to match
the indention.

--
Regards

Kieran



> else
> - return snprintf(buf, PAGE_SIZE, "%2.2x%4.4x%2.2x\n",
> - minfo->smia_manufacturer_id, minfo->model_id,
> - minfo->revision_number) + 1;
> + return sysfs_emit(buf, "%2.2x%4.4x%2.2x\n",
> + minfo->smia_manufacturer_id, minfo->model_id,
> + minfo->revision_number) + 1;
> }
> static DEVICE_ATTR_RO(ident);
>
> --
> 2.7.4
>