cregit-Linux how code gets into the kernel

Release 4.7 kernel/stacktrace.c

Directory: kernel
/*
 * kernel/stacktrace.c
 *
 * Stack trace management functions
 *
 *  Copyright (C) 2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
 */
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/export.h>
#include <linux/kallsyms.h>
#include <linux/stacktrace.h>


void print_stack_trace(struct stack_trace *trace, int spaces) { int i; if (WARN_ON(!trace->entries)) return; for (i = 0; i < trace->nr_entries; i++) { printk("%*c", 1 + spaces, ' '); print_ip_sym(trace->entries[i]); } }

Contributors

PersonTokensPropCommitsCommitProp
ingo molnaringo molnar4163.08%133.33%
vegard nossumvegard nossum1320.00%133.33%
johannes bergjohannes berg1116.92%133.33%
Total65100.00%3100.00%

EXPORT_SYMBOL_GPL(print_stack_trace);
int snprint_stack_trace(char *buf, size_t size, struct stack_trace *trace, int spaces) { int i; unsigned long ip; int generated; int total = 0; if (WARN_ON(!trace->entries)) return 0; for (i = 0; i < trace->nr_entries; i++) { ip = trace->entries[i]; generated = snprintf(buf, size, "%*c[<%p>] %pS\n", 1 + spaces, ' ', (void *) ip, (void *) ip); total += generated; /* Assume that generated isn't a negative number */ if (generated >= size) { buf += size; size = 0; } else { buf += generated; size -= generated; } } return total; }

Contributors

PersonTokensPropCommitsCommitProp
joonsoo kimjoonsoo kim138100.00%1100.00%
Total138100.00%1100.00%

EXPORT_SYMBOL_GPL(snprint_stack_trace); /* * Architectures that do not implement save_stack_trace_tsk or * save_stack_trace_regs get this weak alias and a once-per-bootup warning * (whenever this facility is utilized - for example by procfs): */
__weak void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) { WARN_ONCE(1, KERN_INFO "save_stack_trace_tsk() not implemented yet.\n"); }

Contributors

PersonTokensPropCommitsCommitProp
ingo molnaringo molnar24100.00%1100.00%
Total24100.00%1100.00%


__weak void save_stack_trace_regs(struct pt_regs *regs, struct stack_trace *trace) { WARN_ONCE(1, KERN_INFO "save_stack_trace_regs() not implemented yet.\n"); }

Contributors

PersonTokensPropCommitsCommitProp
masami hiramatsumasami hiramatsu24100.00%1100.00%
Total24100.00%1100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
joonsoo kimjoonsoo kim14351.44%112.50%
ingo molnaringo molnar8530.58%337.50%
masami hiramatsumasami hiramatsu258.99%112.50%
vegard nossumvegard nossum134.68%112.50%
johannes bergjohannes berg113.96%112.50%
paul gortmakerpaul gortmaker10.36%112.50%
Total278100.00%8100.00%
Directory: kernel
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}