[PATCH RFC 02/27] jfs: let procfs copy in writes to the loglevel file
From: Christian Brauner
Date: Mon Nov 02 2026 - 12:32:35 EST
Implement ->proc_write_buf() so procfs copies in what is written before
it pins the entry, and take the level from that copy. Writes larger than
PAGE_SIZE - 1 bytes fail with -EINVAL now and so do empty writes, which
looked at a byte that wasn't written before.
Signed-off-by: Christian Brauner (Amutable) <brauner@xxxxxxxxxx>
---
fs/jfs/jfs_debug.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/fs/jfs/jfs_debug.c b/fs/jfs/jfs_debug.c
index 5eb35b0d420f..e1c0211a6a32 100644
--- a/fs/jfs/jfs_debug.c
+++ b/fs/jfs/jfs_debug.c
@@ -23,13 +23,10 @@ static int jfs_loglevel_proc_show(struct seq_file *m, void *v)
return 0;
}
-static ssize_t jfs_loglevel_proc_write(struct file *file,
- const char __user *buffer, size_t count, loff_t *ppos)
+static ssize_t jfs_loglevel_proc_write(struct file *file, char *buffer,
+ size_t count, loff_t *ppos)
{
- char c;
-
- if (get_user(c, buffer))
- return -EFAULT;
+ char c = buffer[0];
/* yes, I know this is an ASCIIism. --hch */
if (c < '0' || c > '9')
@@ -40,7 +37,7 @@ static ssize_t jfs_loglevel_proc_write(struct file *file,
static const struct proc_ops jfs_loglevel_proc_ops = {
.proc_show = jfs_loglevel_proc_show,
- .proc_write = jfs_loglevel_proc_write,
+ .proc_write_buf = jfs_loglevel_proc_write,
};
#endif
--
2.53.0