[PATCH linux-next] params: use sysfs_emit() instead of scnprintf().

From: xie.ludan
Date: Sat Mar 15 2025 - 02:17:16 EST


From: XieLudan <xie.ludan@xxxxxxxxxx>


Follow the advice in Documentation/filesystems/sysfs.rst:

show() should only use sysfs_emit() or sysfs_emit_at() when formatting

the value to be returned to user space.


Signed-off-by: XieLudan <xie.ludan@xxxxxxxxxx>

---

 kernel/params.c | 8 ++++----

 1 file changed, 4 insertions(+), 4 deletions(-)


diff --git a/kernel/params.c b/kernel/params.c

index 2509f216c9f3..89ae571af266 100644

--- a/kernel/params.c

+++ b/kernel/params.c

@@ -219,7 +219,7 @@ char *parse_args(const char *doing,

  } \

  int param_get_##name(char *buffer, const struct kernel_param *kp) \

  { \

- return scnprintf(buffer, PAGE_SIZE, format "\n", \

+ return sysfs_emit(buffer, format "\n", \

  *((type *)kp->arg)); \

  } \

  const struct kernel_param_ops param_ops_##name = { \

@@ -289,7 +289,7 @@ EXPORT_SYMBOL(param_set_charp);

 

 int param_get_charp(char *buffer, const struct kernel_param *kp)

 {

- return scnprintf(buffer, PAGE_SIZE, "%s\n", *((char **)kp->arg));

+ return sysfs_emit(buffer, "%s\n", *((char **)kp->arg));

 }

 EXPORT_SYMBOL(param_get_charp);

 

@@ -527,7 +527,7 @@ EXPORT_SYMBOL(param_set_copystring);

 int param_get_string(char *buffer, const struct kernel_param *kp)

 {

  const struct kparam_string *kps = kp->str;

- return scnprintf(buffer, PAGE_SIZE, "%s\n", kps->string);

+ return sysfs_emit(buffer, "%s\n", kps->string);

 }

 EXPORT_SYMBOL(param_get_string);

 

@@ -860,7 +860,7 @@ ssize_t __modver_version_show(const struct module_attribute *mattr,

  const struct module_version_attribute *vattr =

  container_of_const(mattr, struct module_version_attribute, mattr);

 

- return scnprintf(buf, PAGE_SIZE, "%s\n", vattr->version);

+ return sysfs_emit(buf, "%s\n", vattr->version);

 }

 

 extern const struct module_version_attribute __start___modver[];

-- 

2.25.1