2021-12-06 07:08:54

by yekai (A)

[permalink] [raw]
Subject: [PATCH v2] uacce: use sysfs_emit instead of sprintf

Use the sysfs_emit to replace sprintf. sprintf may cause
output defect in sysfs content, it is better to use new
added sysfs_emit function which knows the size of the
temporary buffer.

Signed-off-by: Kai Ye <[email protected]>

changes v1->v2:
modfiy the comments.
---
drivers/misc/uacce/uacce.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/misc/uacce/uacce.c b/drivers/misc/uacce/uacce.c
index 488eeb2811ae..281c54003edc 100644
--- a/drivers/misc/uacce/uacce.c
+++ b/drivers/misc/uacce/uacce.c
@@ -289,7 +289,7 @@ static ssize_t api_show(struct device *dev,
{
struct uacce_device *uacce = to_uacce_device(dev);

- return sprintf(buf, "%s\n", uacce->api_ver);
+ return sysfs_emit(buf, "%s\n", uacce->api_ver);
}

static ssize_t flags_show(struct device *dev,
@@ -297,7 +297,7 @@ static ssize_t flags_show(struct device *dev,
{
struct uacce_device *uacce = to_uacce_device(dev);

- return sprintf(buf, "%u\n", uacce->flags);
+ return sysfs_emit(buf, "%u\n", uacce->flags);
}

static ssize_t available_instances_show(struct device *dev,
@@ -309,7 +309,7 @@ static ssize_t available_instances_show(struct device *dev,
if (!uacce->ops->get_available_instances)
return -ENODEV;

- return sprintf(buf, "%d\n",
+ return sysfs_emit(buf, "%d\n",
uacce->ops->get_available_instances(uacce));
}

@@ -318,7 +318,7 @@ static ssize_t algorithms_show(struct device *dev,
{
struct uacce_device *uacce = to_uacce_device(dev);

- return sprintf(buf, "%s\n", uacce->algs);
+ return sysfs_emit(buf, "%s\n", uacce->algs);
}

static ssize_t region_mmio_size_show(struct device *dev,
@@ -326,7 +326,7 @@ static ssize_t region_mmio_size_show(struct device *dev,
{
struct uacce_device *uacce = to_uacce_device(dev);

- return sprintf(buf, "%lu\n",
+ return sysfs_emit(buf, "%lu\n",
uacce->qf_pg_num[UACCE_QFRT_MMIO] << PAGE_SHIFT);
}

@@ -335,7 +335,7 @@ static ssize_t region_dus_size_show(struct device *dev,
{
struct uacce_device *uacce = to_uacce_device(dev);

- return sprintf(buf, "%lu\n",
+ return sysfs_emit(buf, "%lu\n",
uacce->qf_pg_num[UACCE_QFRT_DUS] << PAGE_SHIFT);
}

--
2.33.0



2021-12-06 07:19:32

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH v2] uacce: use sysfs_emit instead of sprintf

On Mon, 2021-12-06 at 15:09 +0800, Kai Ye wrote:
> Use the sysfs_emit to replace sprintf. sprintf may cause
> output defect in sysfs content, it is better to use new
> added sysfs_emit function which knows the size of the
> temporary buffer.
[]
> diff --git a/drivers/misc/uacce/uacce.c b/drivers/misc/uacce/uacce.c
[]
> @@ -309,7 +309,7 @@ static ssize_t available_instances_show(struct device *dev,
> if (!uacce->ops->get_available_instances)
> return -ENODEV;
>
> - return sprintf(buf, "%d\n",
> + return sysfs_emit(buf, "%d\n",
> uacce->ops->get_available_instances(uacce));

It's generally good form to rewrap the multiple line statements
to the open parenthesis so the below would be better:

return sysfs_emit(buf, "%d\n",
uacce->ops->get_available_instances(uacce));

> @@ -326,7 +326,7 @@ static ssize_t region_mmio_size_show(struct device *dev,
> {
> struct uacce_device *uacce = to_uacce_device(dev);
>
> - return sprintf(buf, "%lu\n",
> + return sysfs_emit(buf, "%lu\n",
> uacce->qf_pg_num[UACCE_QFRT_MMIO] << PAGE_SHIFT);

etc...



2021-12-06 07:25:32

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v2] uacce: use sysfs_emit instead of sprintf

On Mon, Dec 06, 2021 at 03:09:43PM +0800, Kai Ye wrote:
> Use the sysfs_emit to replace sprintf. sprintf may cause
> output defect in sysfs content, it is better to use new
> added sysfs_emit function which knows the size of the
> temporary buffer.

For these calls you have replaced, there is no real reason to change as
it is obvious that the buffer is big enough. So there is no "may cause
output defect" here.

Also, feel free to use the full 72 columns for your changelog text.

>
> Signed-off-by: Kai Ye <[email protected]>
>
> changes v1->v2:
> modfiy the comments.
> ---

As per the documentation, the "changes..." lines go below the --- line
so that git will remove them automatically.

Please fix up and resend a v3.

thanks,

greg k-h