[PATCH RESEND] samples/kobject: Use sysfs_emit instead of snprintf

Nguyen Dinh Phi posted 1 patch 4 years, 3 months ago
samples/kobject/kobject-example.c | 4 ++--
samples/kobject/kset-example.c    | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
[PATCH RESEND] samples/kobject: Use sysfs_emit instead of snprintf
Posted by Nguyen Dinh Phi 4 years, 3 months ago
Convert sprintf() to sysfs_emit() in order to check buffer overrun on sysfs
outputs.

Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com>
---
 samples/kobject/kobject-example.c | 4 ++--
 samples/kobject/kset-example.c    | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/samples/kobject/kobject-example.c b/samples/kobject/kobject-example.c
index 9e383fdbaa00..96678ed73216 100644
--- a/samples/kobject/kobject-example.c
+++ b/samples/kobject/kobject-example.c
@@ -28,7 +28,7 @@ static int bar;
 static ssize_t foo_show(struct kobject *kobj, struct kobj_attribute *attr,
 			char *buf)
 {
-	return sprintf(buf, "%d\n", foo);
+	return sysfs_emit(buf, "%d\n", foo);
 }
 
 static ssize_t foo_store(struct kobject *kobj, struct kobj_attribute *attr,
@@ -60,7 +60,7 @@ static ssize_t b_show(struct kobject *kobj, struct kobj_attribute *attr,
 		var = baz;
 	else
 		var = bar;
-	return sprintf(buf, "%d\n", var);
+	return sysfs_emit(buf, "%d\n", var);
 }
 
 static ssize_t b_store(struct kobject *kobj, struct kobj_attribute *attr,
diff --git a/samples/kobject/kset-example.c b/samples/kobject/kset-example.c
index c8010f126808..52f1acabd479 100644
--- a/samples/kobject/kset-example.c
+++ b/samples/kobject/kset-example.c
@@ -112,7 +112,7 @@ static void foo_release(struct kobject *kobj)
 static ssize_t foo_show(struct foo_obj *foo_obj, struct foo_attribute *attr,
 			char *buf)
 {
-	return sprintf(buf, "%d\n", foo_obj->foo);
+	return sysfs_emit(buf, "%d\n", foo_obj->foo);
 }
 
 static ssize_t foo_store(struct foo_obj *foo_obj, struct foo_attribute *attr,
@@ -144,7 +144,7 @@ static ssize_t b_show(struct foo_obj *foo_obj, struct foo_attribute *attr,
 		var = foo_obj->baz;
 	else
 		var = foo_obj->bar;
-	return sprintf(buf, "%d\n", var);
+	return sysfs_emit(buf, "%d\n", var);
 }
 
 static ssize_t b_store(struct foo_obj *foo_obj, struct foo_attribute *attr,
-- 
2.25.1
Re: [PATCH RESEND] samples/kobject: Use sysfs_emit instead of snprintf
Posted by Greg KH 4 years, 3 months ago
On Wed, Mar 02, 2022 at 08:07:59PM +0800, Nguyen Dinh Phi wrote:
> Convert sprintf() to sysfs_emit() in order to check buffer overrun on sysfs
> outputs.

There are no such buffer overruns on these sysfs files.

> 
> Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com>
> ---
>  samples/kobject/kobject-example.c | 4 ++--
>  samples/kobject/kset-example.c    | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)

Why is this a resend?  What happened to the first version?

thanks,

greg k-h
Re: [PATCH RESEND] samples/kobject: Use sysfs_emit instead of snprintf
Posted by Phi Nguyen 4 years, 3 months ago
On 3/2/2022 10:51 PM, Greg KH wrote:
> On Wed, Mar 02, 2022 at 08:07:59PM +0800, Nguyen Dinh Phi wrote:
>> Convert sprintf() to sysfs_emit() in order to check buffer overrun on sysfs
>> outputs.
> 
> There are no such buffer overruns on these sysfs files.
>
I don't want to duplicate the title so I use the description of 
sysfs_emit() as the patch message. I have just realized that the title 
is also incorrect, sorry for my mistake.

>>
>> Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com>
>> ---
>>   samples/kobject/kobject-example.c | 4 ++--
>>   samples/kobject/kset-example.c    | 4 ++--
>>   2 files changed, 4 insertions(+), 4 deletions(-)
> 
> Why is this a resend?  What happened to the first version?
> 
> thanks,
> 
> greg k-h

There is no response for the first version. Actually, there is no 
Maintainer is associated with these two files (in MAINTAINERS files), 
hence, my first patch was only sent to the linux-kernel mailing list.

BR,
Phi.