2021-08-10 16:44:11

by Christoph Hellwig

[permalink] [raw]
Subject: [PATCH] proc: stop using seq_get_buf in proc_task_name

Use seq_escape_str and seq_printf instead of poking holes into the
seq_file abstraction.

Signed-off-by: Christoph Hellwig <[email protected]>
---
fs/proc/array.c | 18 ++++--------------
1 file changed, 4 insertions(+), 14 deletions(-)

diff --git a/fs/proc/array.c b/fs/proc/array.c
index ee0ce8cecc4a..49be8c8ef555 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -98,27 +98,17 @@

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);
}

/*
--
2.30.2


2021-08-11 09:12:49

by Christian Brauner

[permalink] [raw]
Subject: Re: [PATCH] proc: stop using seq_get_buf in proc_task_name

On Tue, Aug 10, 2021 at 05:19:45PM +0200, Christoph Hellwig wrote:
> Use seq_escape_str and seq_printf instead of poking holes into the
> seq_file abstraction.
>
> Signed-off-by: Christoph Hellwig <[email protected]>
> ---

Thanks! Looks good.
Acked-by: Christian Brauner <[email protected]>