2021-10-15 13:05:10

by 王擎

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

show() must 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:2717: WARNING: use scnprintf or sprintf.

Use sysfs_emit instead of scnprintf or sprintf makes more sense.

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

diff --git a/drivers/media/i2c/ccs/ccs-core.c b/drivers/media/i2c/ccs/ccs-core.c
index a9403a2..21a156d 100644
--- a/drivers/media/i2c/ccs/ccs-core.c
+++ b/drivers/media/i2c/ccs/ccs-core.c
@@ -2715,11 +2715,11 @@ ccs_sysfs_ident_read(struct device *dev, struct device_attribute *attr,
struct ccs_module_info *minfo = &sensor->minfo;

if (minfo->mipi_manufacturer_id)
- return snprintf(buf, PAGE_SIZE, "%4.4x%4.4x%2.2x\n",
+ 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",
+ return sysfs_emit(buf, "%2.2x%4.4x%2.2x\n",
minfo->smia_manufacturer_id, minfo->model_id,
minfo->revision_number) + 1;
}
--
2.7.4


2021-10-18 03:19:25

by Kieran Bingham

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

Hello,

Quoting Qing Wang (2021-10-15 07:49:22)
> show() must 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:2717: WARNING: use scnprintf or sprintf.
>
> Use sysfs_emit instead of scnprintf or sprintf makes more sense.
>
> Signed-off-by: Qing Wang <[email protected]>
> ---
> drivers/media/i2c/ccs/ccs-core.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/i2c/ccs/ccs-core.c b/drivers/media/i2c/ccs/ccs-core.c
> index a9403a2..21a156d 100644
> --- a/drivers/media/i2c/ccs/ccs-core.c
> +++ b/drivers/media/i2c/ccs/ccs-core.c
> @@ -2715,11 +2715,11 @@ ccs_sysfs_ident_read(struct device *dev, struct device_attribute *attr,

What version of the kernel is this patch against?

I can't find the direct line mapping for this in either the linux-media
tree or torvalds master branch (closest match at
https://git.linuxtv.org/media_tree.git/tree/drivers/media/i2c/ccs/ccs-core.c#n2754)

Ah: https://lore.kernel.org/all/[email protected]/
updated this, so I suspect this patch has been submitted against perhaps
a v5.14 kernel? It would be best to rebase and repost against the latest
branch of https://git.linuxtv.org/media_tree.git


> struct ccs_module_info *minfo = &sensor->minfo;
>
> if (minfo->mipi_manufacturer_id)
> - return snprintf(buf, PAGE_SIZE, "%4.4x%4.4x%2.2x\n",
> + return sysfs_emit(buf, "%4.4x%4.4x%2.2x\n",
> minfo->mipi_manufacturer_id, minfo->model_id,
> minfo->revision_number) + 1;

This change looks good, but I think it might be better to re-indent the
minfo lines to match as well...

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

here as well of course.

--
Kieran


> }
> --
> 2.7.4
>