samples/kobject: Use sysfs_emit instead of sprintf

sysfs_emit() is preferred over sprintf() when formatting the value to be
returned to user space in show() functions, because it knows about sysfs
buffer specifics and has sanity checks.

Signed-off-by: Nguyen Dinh Phi <phind.uet@gmail.com>
Link: https://lore.kernel.org/r/20220303183618.1342358-1-phind.uet@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Nguyen Dinh Phi 2022-03-04 02:36:18 +08:00 committed by Greg Kroah-Hartman
parent b0f6807d35
commit 5a242d8547
2 changed files with 4 additions and 4 deletions

View File

@ -28,7 +28,7 @@ static int bar;
static ssize_t foo_show(struct kobject *kobj, struct kobj_attribute *attr, static ssize_t foo_show(struct kobject *kobj, struct kobj_attribute *attr,
char *buf) 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, 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; var = baz;
else else
var = bar; 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, static ssize_t b_store(struct kobject *kobj, struct kobj_attribute *attr,

View File

@ -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, static ssize_t foo_show(struct foo_obj *foo_obj, struct foo_attribute *attr,
char *buf) 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, 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; var = foo_obj->baz;
else else
var = foo_obj->bar; 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, static ssize_t b_store(struct foo_obj *foo_obj, struct foo_attribute *attr,