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:
parent
b0f6807d35
commit
5a242d8547
@ -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,
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user