tracing/stack-tracer: fix style issues
authorTörök Edwin <edwintorok@gmail.com>
Sun, 23 Nov 2008 10:39:06 +0000 (12:39 +0200)
committerIngo Molnar <mingo@elte.hu>
Sun, 23 Nov 2008 10:53:48 +0000 (11:53 +0100)
Impact: cleanup

Signed-off-by: Török Edwin <edwintorok@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/stacktrace.c
include/linux/stacktrace.h
kernel/trace/trace.c

index b15153060417371fed5954dd3e2e8257cc63d79c..10786af95545ea37654bcf7125d7a880edc03540 100644 (file)
@@ -89,7 +89,7 @@ EXPORT_SYMBOL_GPL(save_stack_trace_tsk);
 
 struct stack_frame {
        const void __user       *next_fp;
-       unsigned long           return_address;
+       unsigned long           ret_addr;
 };
 
 static int copy_stack_frame(const void __user *fp, struct stack_frame *frame)
@@ -108,33 +108,40 @@ static int copy_stack_frame(const void __user *fp, struct stack_frame *frame)
        return ret;
 }
 
+static inline void __save_stack_trace_user(struct stack_trace *trace)
+{
+       const struct pt_regs *regs = task_pt_regs(current);
+       const void __user *fp = (const void __user *)regs->bp;
+
+       if (trace->nr_entries < trace->max_entries)
+               trace->entries[trace->nr_entries++] = regs->ip;
+
+       while (trace->nr_entries < trace->max_entries) {
+               struct stack_frame frame;
+
+               frame.next_fp = NULL;
+               frame.ret_addr = 0;
+               if (!copy_stack_frame(fp, &frame))
+                       break;
+               if ((unsigned long)fp < regs->sp)
+                       break;
+               if (frame.ret_addr) {
+                       trace->entries[trace->nr_entries++] =
+                               frame.ret_addr;
+               }
+               if (fp == frame.next_fp)
+                       break;
+               fp = frame.next_fp;
+       }
+}
+
 void save_stack_trace_user(struct stack_trace *trace)
 {
        /*
         * Trace user stack if we are not a kernel thread
         */
        if (current->mm) {
-               const struct pt_regs *regs = task_pt_regs(current);
-               const void __user *fp = (const void __user *)regs->bp;
-
-               if (trace->nr_entries < trace->max_entries)
-                       trace->entries[trace->nr_entries++] = regs->ip;
-
-               while (trace->nr_entries < trace->max_entries) {
-                       struct stack_frame frame;
-                       frame.next_fp = NULL;
-                       frame.return_address = 0;
-                       if (!copy_stack_frame(fp, &frame))
-                               break;
-                       if ((unsigned long)fp < regs->sp)
-                               break;
-                       if (frame.return_address)
-                               trace->entries[trace->nr_entries++] =
-                                       frame.return_address;
-                       if (fp == frame.next_fp)
-                               break;
-                       fp = frame.next_fp;
-               }
+               __save_stack_trace_user(trace);
        }
        if (trace->nr_entries < trace->max_entries)
                trace->entries[trace->nr_entries++] = ULONG_MAX;
index 68de51468f5d980e9fd4e9865eafeba25eebf01d..fd42d6851109eb28e5f6b7a631d73348963bcb0c 100644 (file)
@@ -25,7 +25,7 @@ extern void save_stack_trace_user(struct stack_trace *trace);
 #else
 # define save_stack_trace(trace)                       do { } while (0)
 # define save_stack_trace_tsk(tsk, trace)              do { } while (0)
-# define save_stack_trace_user(trace)              do { } while (0)
+# define save_stack_trace_user(trace)                  do { } while (0)
 # define print_stack_trace(trace, spaces)              do { } while (0)
 #endif
 
index 62776b71b1c50b13b89e996a5d20c3da1385ce8d..dedf35f369719d32d2fb1be68137429c68a764a7 100644 (file)
@@ -948,9 +948,9 @@ static void ftrace_trace_userstack(struct trace_array *tr,
                   struct trace_array_cpu *data,
                   unsigned long flags, int pc)
 {
+       struct ring_buffer_event *event;
        struct userstack_entry *entry;
        struct stack_trace trace;
-       struct ring_buffer_event *event;
        unsigned long irq_flags;
 
        if (!(trace_flags & TRACE_ITER_USERSTACKTRACE))
@@ -1471,8 +1471,7 @@ static inline int seq_print_user_ip(struct trace_seq *s, struct mm_struct *mm,
        if (file) {
                ret = trace_seq_path(s, &file->f_path);
                if (ret)
-                       ret = trace_seq_printf(s, "[+0x%lx]",
-                                       ip - vmstart);
+                       ret = trace_seq_printf(s, "[+0x%lx]", ip - vmstart);
        }
        if (ret && ((sym_flags & TRACE_ITER_SYM_ADDR) || !file))
                ret = trace_seq_printf(s, " <" IP_FMT ">", ip);
@@ -1485,7 +1484,7 @@ seq_print_userip_objs(const struct userstack_entry *entry, struct trace_seq *s,
 {
        struct mm_struct *mm = NULL;
        int ret = 1;
-       unsigned i;
+       unsigned int i;
 
        if (trace_flags & TRACE_ITER_SYM_USEROBJ) {
                struct task_struct *task;