cregit-Linux how code gets into the kernel

Release 4.10 arch/s390/kernel/stacktrace.c

Directory: arch/s390/kernel
/*
 * Stack trace management functions
 *
 *  Copyright IBM Corp. 2006
 *  Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
 */

#include <linux/sched.h>
#include <linux/stacktrace.h>
#include <linux/kallsyms.h>
#include <linux/module.h>


static int __save_address(void *data, unsigned long address, int nosched) { struct stack_trace *trace = data; if (nosched && in_sched_functions(address)) return 0; if (trace->skip > 0) { trace->skip--; return 0; } if (trace->nr_entries < trace->max_entries) { trace->entries[trace->nr_entries++] = address; return 0; } return 1; }

Contributors

PersonTokensPropCommitsCommitProp
heiko carstensheiko carstens84100.00%5100.00%
Total84100.00%5100.00%


static int save_address(void *data, unsigned long address, int reliable) { return __save_address(data, address, 0); }

Contributors

PersonTokensPropCommitsCommitProp
heiko carstensheiko carstens27100.00%6100.00%
Total27100.00%6100.00%


static int save_address_nosched(void *data, unsigned long address, int reliable) { return __save_address(data, address, 1); }

Contributors

PersonTokensPropCommitsCommitProp
heiko carstensheiko carstens27100.00%5100.00%
Total27100.00%5100.00%


void save_stack_trace(struct stack_trace *trace) { unsigned long sp; sp = current_stack_pointer(); dump_trace(save_address, trace, NULL, sp); if (trace->nr_entries < trace->max_entries) trace->entries[trace->nr_entries++] = ULONG_MAX; }

Contributors

PersonTokensPropCommitsCommitProp
heiko carstensheiko carstens52100.00%5100.00%
Total52100.00%5100.00%

EXPORT_SYMBOL_GPL(save_stack_trace);
void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) { unsigned long sp; sp = tsk->thread.ksp; if (tsk == current) sp = current_stack_pointer(); dump_trace(save_address_nosched, trace, tsk, sp); if (trace->nr_entries < trace->max_entries) trace->entries[trace->nr_entries++] = ULONG_MAX; }

Contributors

PersonTokensPropCommitsCommitProp
heiko carstensheiko carstens71100.00%4100.00%
Total71100.00%4100.00%

EXPORT_SYMBOL_GPL(save_stack_trace_tsk);
void save_stack_trace_regs(struct pt_regs *regs, struct stack_trace *trace) { unsigned long sp; sp = kernel_stack_pointer(regs); dump_trace(save_address, trace, NULL, sp); if (trace->nr_entries < trace->max_entries) trace->entries[trace->nr_entries++] = ULONG_MAX; }

Contributors

PersonTokensPropCommitsCommitProp
pratyush anandpratyush anand5491.53%150.00%
heiko carstensheiko carstens58.47%150.00%
Total59100.00%2100.00%

EXPORT_SYMBOL_GPL(save_stack_trace_regs);

Overall Contributors

PersonTokensPropCommitsCommitProp
heiko carstensheiko carstens27980.17%1285.71%
pratyush anandpratyush anand5916.95%17.14%
ingo molnaringo molnar102.87%17.14%
Total348100.00%14100.00%
Directory: arch/s390/kernel
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.