Replace the indirection through struct stack_trace with an invocation of
the storage array based interface.

Signed-off-by: Thomas Gleixner <t...@linutronix.de>
Reviewed-by: Alexey Dobriyan <adobri...@gmail.com>
Cc: Andrew Morton <a...@linux-foundation.org>
---
 fs/proc/base.c |   14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -407,7 +407,6 @@ static void unlock_trace(struct task_str
 static int proc_pid_stack(struct seq_file *m, struct pid_namespace *ns,
                          struct pid *pid, struct task_struct *task)
 {
-       struct stack_trace trace;
        unsigned long *entries;
        int err;
 
@@ -430,20 +429,17 @@ static int proc_pid_stack(struct seq_fil
        if (!entries)
                return -ENOMEM;
 
-       trace.nr_entries        = 0;
-       trace.max_entries       = MAX_STACK_TRACE_DEPTH;
-       trace.entries           = entries;
-       trace.skip              = 0;
-
        err = lock_trace(task);
        if (!err) {
-               unsigned int i;
+               unsigned int i, nr_entries;
 
-               save_stack_trace_tsk(task, &trace);
+               nr_entries = stack_trace_save_tsk(task, entries,
+                                                 MAX_STACK_TRACE_DEPTH, 0);
 
-               for (i = 0; i < trace.nr_entries; i++) {
+               for (i = 0; i < nr_entries; i++) {
                        seq_printf(m, "[<0>] %pB\n", (void *)entries[i]);
                }
+
                unlock_trace(task);
        }
        kfree(entries);


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to