Release 4.12 include/linux/stacktrace.h
#ifndef __LINUX_STACKTRACE_H
#define __LINUX_STACKTRACE_H
#include <linux/types.h>
struct task_struct;
struct pt_regs;
#ifdef CONFIG_STACKTRACE
struct stack_trace {
unsigned int nr_entries, max_entries;
unsigned long *entries;
int skip; /* input argument: How many entries to skip */
};
extern void save_stack_trace(struct stack_trace *trace);
extern void save_stack_trace_regs(struct pt_regs *regs,
struct stack_trace *trace);
extern void save_stack_trace_tsk(struct task_struct *tsk,
struct stack_trace *trace);
extern int save_stack_trace_tsk_reliable(struct task_struct *tsk,
struct stack_trace *trace);
extern void print_stack_trace(struct stack_trace *trace, int spaces);
extern int snprint_stack_trace(char *buf, size_t size,
struct stack_trace *trace, int spaces);
#ifdef CONFIG_USER_STACKTRACE_SUPPORT
extern void save_stack_trace_user(struct stack_trace *trace);
#else
# define save_stack_trace_user(trace) do { } while (0)
#endif
#else /* !CONFIG_STACKTRACE */
# 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 print_stack_trace(trace, spaces) do { } while (0)
# define snprint_stack_trace(buf, size, trace, spaces) do { } while (0)
# define save_stack_trace_tsk_reliable(tsk, trace) ({ -ENOSYS; })
#endif /* CONFIG_STACKTRACE */
#endif /* __LINUX_STACKTRACE_H */
Overall Contributors
Person | Tokens | Prop | Commits | CommitProp |
Ingo Molnar | 68 | 31.92% | 1 | 8.33% |
JoonSoo Kim | 36 | 16.90% | 1 | 8.33% |
Török Edwin | 31 | 14.55% | 2 | 16.67% |
Josh Poimboeuf | 27 | 12.68% | 1 | 8.33% |
Arjan van de Ven | 24 | 11.27% | 1 | 8.33% |
Vegard Nossum | 8 | 3.76% | 1 | 8.33% |
Soeren Sandmann Pedersen | 6 | 2.82% | 1 | 8.33% |
Masami Hiramatsu | 4 | 1.88% | 1 | 8.33% |
Andi Kleen | 4 | 1.88% | 1 | 8.33% |
Andrew Morton | 3 | 1.41% | 1 | 8.33% |
Johannes Berg | 2 | 0.94% | 1 | 8.33% |
Total | 213 | 100.00% | 12 | 100.00% |
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.