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

xie.ludan@zte.com.cn posted 1 patch 9 months, 1 week ago
kernel/params.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
[PATCH linux-next] params: use sysfs_emit() instead of scnprintf().
Posted by xie.ludan@zte.com.cn 9 months, 1 week ago
From: XieLudan <xie.ludan@zte.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@zte.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
Re: [PATCH linux-next] params: use sysfs_emit() instead of scnprintf().
Posted by Jiri Slaby 9 months ago
On 15. 03. 25, 7:17, xie.ludan@zte.com.cn wrote:
> From: XieLudan <xie.ludan@zte.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@zte.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",\

This has nothing to do with sysfs, right?

-- 
js
suse labs