mirror of
https://github.com/Qortal/Brooklyn.git
synced 2025-02-07 06:44:18 +00:00
2a709f28fa
* 0day explit mitigation * Memory corruption prevention * Privilege escalation prevention * Buffer over flow prevention * File System corruption defense * Thread escape prevention This may very well be the most intensive inclusion to BrooklynR. This will not be part of an x86 suite nor it will be released as tool kit. The security core toolkit will remain part of kernel base.
41 lines
1.2 KiB
C
41 lines
1.2 KiB
C
#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 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
|
|
# 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)
|
|
#endif
|
|
|
|
#endif
|