[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202503151417004728U9HCHFf6b_zP5GsZuMdu@zte.com.cn>
Date: Sat, 15 Mar 2025 14:17:00 +0800 (CST)
From: <xie.ludan@....com.cn>
To: <petr.pavlu@...e.com>
Cc: <linux@...ssschuh.net>, <mcgrof@...nel.org>, <thorsten.blum@...ux.dev>,
<linux-kernel@...r.kernel.org>
Subject: [PATCH linux-next] params: use sysfs_emit() instead of scnprintf().
From: XieLudan <xie.ludan@....com.cn>
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@....com.cn>
---
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
<div class="zcontentRow"><p><span style="font-family: Arial, Helvetica, "Microsoft Yahei", sans-serif; background-color: rgb(255, 255, 255);">From: XieLudan <xie.ludan@....com.cn></span></p><p><br></p><p>Follow the advice in Documentation/filesystems/sysfs.rst:</p><p>show() should only use sysfs_emit() or sysfs_emit_at() when formatting</p><p>the value to be returned to user space.</p><p><br></p><p>Signed-off-by: XieLudan <xie.ludan@....com.cn></p><p>---</p><p> kernel/params.c | 8 ++++----</p><p> 1 file changed, 4 insertions(+), 4 deletions(-)</p><p><br></p><p>diff --git a/kernel/params.c b/kernel/params.c</p><p>index 2509f216c9f3..89ae571af266 100644</p><p>--- a/kernel/params.c</p><p>+++ b/kernel/params.c</p><p>@@ -219,7 +219,7 @@ char *parse_args(const char *doing,</p><p> <span style="white-space:pre"> </span>}<span style="white-space:pre"> </span>\</p><p> <span style="white-space:pre"> </span>int param_get_##name(char *buffer, const struct kernel_param *kp) \</p><p> <span style="white-space:pre"> </span>{<span style="white-space:pre"> </span>\</p><p>-<span style="white-space:pre"> </span>return scnprintf(buffer, PAGE_SIZE, format "\n",<span style="white-space:pre"> </span>\</p><p>+<span style="white-space:pre"> </span>return sysfs_emit(buffer, format "\n",<span style="white-space:pre"> </span>\</p><p> <span style="white-space:pre"> </span>*((type *)kp->arg));<span style="white-space:pre"> </span>\</p><p> <span style="white-space:pre"> </span>}<span style="white-space:pre"> </span>\</p><p> <span style="white-space:pre"> </span>const struct kernel_param_ops param_ops_##name = {<span style="white-space:pre"> </span>\</p><p>@@ -289,7 +289,7 @@ EXPORT_SYMBOL(param_set_charp);</p><p> </p><p> int param_get_charp(char *buffer, const struct kernel_param *kp)</p><p> {</p><p>-<span style="white-space:pre"> </span>return scnprintf(buffer, PAGE_SIZE, "%s\n", *((char **)kp->arg));</p><p>+<span style="white-space:pre"> </span>return sysfs_emit(buffer, "%s\n", *((char **)kp->arg));</p><p> }</p><p> EXPORT_SYMBOL(param_get_charp);</p><p> </p><p>@@ -527,7 +527,7 @@ EXPORT_SYMBOL(param_set_copystring);</p><p> int param_get_string(char *buffer, const struct kernel_param *kp)</p><p> {</p><p> <span style="white-space:pre"> </span>const struct kparam_string *kps = kp->str;</p><p>-<span style="white-space:pre"> </span>return scnprintf(buffer, PAGE_SIZE, "%s\n", kps->string);</p><p>+<span style="white-space:pre"> </span>return sysfs_emit(buffer, "%s\n", kps->string);</p><p> }</p><p> EXPORT_SYMBOL(param_get_string);</p><p> </p><p>@@ -860,7 +860,7 @@ ssize_t __modver_version_show(const struct module_attribute *mattr,</p><p> <span style="white-space:pre"> </span>const struct module_version_attribute *vattr =</p><p> <span style="white-space:pre"> </span>container_of_const(mattr, struct module_version_attribute, mattr);</p><p> </p><p>-<span style="white-space:pre"> </span>return scnprintf(buf, PAGE_SIZE, "%s\n", vattr->version);</p><p>+<span style="white-space:pre"> </span>return sysfs_emit(buf, "%s\n", vattr->version);</p><p> }</p><p> </p><p> extern const struct module_version_attribute __start___modver[];</p><p>-- </p><p>2.25.1</p><p style="font-size:14px;font-family:微软雅黑,Microsoft YaHei;"><br></p><p style="font-size:14px;font-family:微软雅黑,Microsoft YaHei;"><br></p><p style="font-size:14px;font-family:微软雅黑,Microsoft YaHei;"><br></p><p style="font-size:14px;font-family:微软雅黑,Microsoft YaHei;"><br></p></div>
Powered by blists - more mailing lists