[PATCH 2/2] sh: sq: use sysfs_emit_at() in mapping_show

Thorsten Blum <[email protected]>
Newsgroups gmane.linux.ports.sh.devel,gmane.linux.kernel
Message-ID <[email protected]>
Replace sprintf() with sysfs_emit_at() in mapping_show().
sysfs_emit_at() is preferred for formatting sysfs output because it
provides safer bounds checking and avoids manual buffer size accounting.

Signed-off-by: Thorsten Blum <[email protected]>
---
 arch/sh/kernel/cpu/sh4/sq.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/arch/sh/kernel/cpu/sh4/sq.c b/arch/sh/kernel/cpu/sh4/sq.c
index 908a8e09113b..50e7df13fcc2 100644
--- a/arch/sh/kernel/cpu/sh4/sq.c
+++ b/arch/sh/kernel/cpu/sh4/sq.c
@@ -14,6 +14,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/slab.h>
+#include <linux/sysfs.h>
 #include <linux/vmalloc.h>
 #include <linux/mm.h>
 #include <linux/io.h>
@@ -289,14 +290,14 @@ static ssize_t sq_sysfs_store(struct kobject *kobj, struct attribute *attr,
 static ssize_t mapping_show(char *buf)
 {
 	struct sq_mapping **list, *entry;
-	char *p = buf;
+	ssize_t len = 0;
 
 	for (list = &sq_mapping_list; (entry = *list); list = &entry->next)
-		p += sprintf(p, "%08lx-%08lx [%08lx]: %s\n",
-			     entry->sq_addr, entry->sq_addr + entry->size,
-			     entry->addr, entry->name);
+		len += sysfs_emit_at(buf, len, "%08lx-%08lx [%08lx]: %s\n",
+				entry->sq_addr, entry->sq_addr + entry->size,
+				entry->addr, entry->name);
 
-	return p - buf;
+	return len;
 }
 
 static ssize_t mapping_store(const char *buf, size_t count)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.