aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc
diff options
context:
space:
mode:
authorAlexey Dobriyan <adobriyan@gmail.com>2014-08-08 17:21:39 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-08 18:57:22 -0400
commit09d93bd6270981446cfaa5938c8d5f6cfc2d84a1 (patch)
treea80f0540234497b182396aa9ea21d2f0d05c0e52 /fs/proc
parent1c963eb135075ecc5126c1ef695090cb0aea95c4 (diff)
proc: convert /proc/$PID/syscall to seq_file interface
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/proc')
-rw-r--r--fs/proc/base.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 1dd692132ede..f5d0f8f39a57 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -482,7 +482,8 @@ static int proc_pid_limits(struct seq_file *m, struct pid_namespace *ns,
482} 482}
483 483
484#ifdef CONFIG_HAVE_ARCH_TRACEHOOK 484#ifdef CONFIG_HAVE_ARCH_TRACEHOOK
485static int proc_pid_syscall(struct task_struct *task, char *buffer) 485static int proc_pid_syscall(struct seq_file *m, struct pid_namespace *ns,
486 struct pid *pid, struct task_struct *task)
486{ 487{
487 long nr; 488 long nr;
488 unsigned long args[6], sp, pc; 489 unsigned long args[6], sp, pc;
@@ -491,11 +492,11 @@ static int proc_pid_syscall(struct task_struct *task, char *buffer)
491 return res; 492 return res;
492 493
493 if (task_current_syscall(task, &nr, args, 6, &sp, &pc)) 494 if (task_current_syscall(task, &nr, args, 6, &sp, &pc))
494 res = sprintf(buffer, "running\n"); 495 seq_puts(m, "running\n");
495 else if (nr < 0) 496 else if (nr < 0)
496 res = sprintf(buffer, "%ld 0x%lx 0x%lx\n", nr, sp, pc); 497 seq_printf(m, "%ld 0x%lx 0x%lx\n", nr, sp, pc);
497 else 498 else
498 res = sprintf(buffer, 499 seq_printf(m,
499 "%ld 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx\n", 500 "%ld 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx 0x%lx\n",
500 nr, 501 nr,
501 args[0], args[1], args[2], args[3], args[4], args[5], 502 args[0], args[1], args[2], args[3], args[4], args[5],
@@ -2564,7 +2565,7 @@ static const struct pid_entry tgid_base_stuff[] = {
2564#endif 2565#endif
2565 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations), 2566 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations),
2566#ifdef CONFIG_HAVE_ARCH_TRACEHOOK 2567#ifdef CONFIG_HAVE_ARCH_TRACEHOOK
2567 INF("syscall", S_IRUSR, proc_pid_syscall), 2568 ONE("syscall", S_IRUSR, proc_pid_syscall),
2568#endif 2569#endif
2569 INF("cmdline", S_IRUGO, proc_pid_cmdline), 2570 INF("cmdline", S_IRUGO, proc_pid_cmdline),
2570 ONE("stat", S_IRUGO, proc_tgid_stat), 2571 ONE("stat", S_IRUGO, proc_tgid_stat),
@@ -2900,7 +2901,7 @@ static const struct pid_entry tid_base_stuff[] = {
2900#endif 2901#endif
2901 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations), 2902 REG("comm", S_IRUGO|S_IWUSR, proc_pid_set_comm_operations),
2902#ifdef CONFIG_HAVE_ARCH_TRACEHOOK 2903#ifdef CONFIG_HAVE_ARCH_TRACEHOOK
2903 INF("syscall", S_IRUSR, proc_pid_syscall), 2904 ONE("syscall", S_IRUSR, proc_pid_syscall),
2904#endif 2905#endif
2905 INF("cmdline", S_IRUGO, proc_pid_cmdline), 2906 INF("cmdline", S_IRUGO, proc_pid_cmdline),
2906 ONE("stat", S_IRUGO, proc_tid_stat), 2907 ONE("stat", S_IRUGO, proc_tid_stat),