proc: stop using seq_get_buf in proc_task_name
authorChristoph Hellwig <hch@lst.de>
Wed, 8 Sep 2021 02:57:33 +0000 (19:57 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 Sep 2021 18:50:25 +0000 (11:50 -0700)
Use seq_escape_str and seq_printf instead of poking holes into the
seq_file abstraction.

Link: https://lkml.kernel.org/r/20210810151945.1795567-1-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/proc/array.c

index ee0ce8c..49be8c8 100644 (file)
 
 void proc_task_name(struct seq_file *m, struct task_struct *p, bool escape)
 {
-       char *buf;
-       size_t size;
        char tcomm[64];
-       int ret;
 
        if (p->flags & PF_WQ_WORKER)
                wq_worker_comm(tcomm, sizeof(tcomm), p);
        else
                __get_task_comm(tcomm, sizeof(tcomm), p);
 
-       size = seq_get_buf(m, &buf);
-       if (escape) {
-               ret = string_escape_str(tcomm, buf, size,
-                                       ESCAPE_SPACE | ESCAPE_SPECIAL, "\n\\");
-               if (ret >= size)
-                       ret = -1;
-       } else {
-               ret = strscpy(buf, tcomm, size);
-       }
-
-       seq_commit(m, ret);
+       if (escape)
+               seq_escape_str(m, tcomm, ESCAPE_SPACE | ESCAPE_SPECIAL, "\n\\");
+       else
+               seq_printf(m, "%.64s", tcomm);
 }
 
 /*