Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
|
Go to the source code of this file.
Data Structures | |
struct | os_linux_state |
struct | os_linux_vma |
struct | os_linux_mm |
struct | os_linux_thread_state |
Macros | |
#define | PAGE_SIZE 0x1000 |
#define | THREAD_SIZE 8192 |
#define | KERNEL_STACK_OFFSET (5*8) |
#define | THREAD_INFO_GET_CPL(tid) (((tid) & (0x3 << 62)) >> 62) |
#define | THREAD_INFO_GET_TID(tid) ((tid) & 0xffffffff) |
#define | THREAD_INFO_SET_CPL(tid, cpl) (tid) |= (((cpl) & 0x3) << 62) |
#define | THREAD_INFO_SET_TID(tid, pid) (tid) |= (0xffffffff & (pid)) |
#define | TIF_32_SYSCALL_TRACE 0 /* syscall trace active */ |
#define | TIF_32_NOTIFY_RESUME 1 /* resumption notification requested */ |
#define | TIF_32_SIGPENDING 2 /* signal pending */ |
#define | TIF_32_NEED_RESCHED 3 /* rescheduling necessary */ |
#define | TIF_32_SINGLESTEP 4 /* restore singlestep on return to user mode */ |
#define | TIF_32_IRET 5 /* return with iret */ |
#define | TIF_32_SYSCALL_EMU 6 /* syscall emulation active */ |
#define | TIF_32_SYSCALL_AUDIT 7 /* syscall auditing active */ |
#define | TIF_32_SECCOMP 8 /* secure computing */ |
#define | TIF_32_RESTORE_SIGMASK 9 /* restore signal mask in do_signal() */ |
#define | TIF_32_MEMDIE 16 |
#define | TIF_32_DEBUG 17 /* uses debug registers */ |
#define | TIF_32_IO_BITMAP 18 /* uses I/O bitmap */ |
#define | _TIF_32_SYSCALL_TRACE (1<<TIF_32_SYSCALL_TRACE) |
#define | _TIF_32_NOTIFY_RESUME (1<<TIF_32_NOTIFY_RESUME) |
#define | _TIF_32_SIGPENDING (1<<TIF_32_SIGPENDING) |
#define | _TIF_32_NEED_RESCHED (1<<TIF_32_NEED_RESCHED) |
#define | _TIF_32_SINGLESTEP (1<<TIF_32_SINGLESTEP) |
#define | _TIF_32_IRET (1<<TIF_32_IRET) |
#define | _TIF_32_SYSCALL_EMU (1<<TIF_32_SYSCALL_EMU) |
#define | _TIF_32_SYSCALL_AUDIT (1<<TIF_32_SYSCALL_AUDIT) |
#define | _TIF_32_SECCOMP (1<<TIF_32_SECCOMP) |
#define | _TIF_32_RESTORE_SIGMASK (1<<TIF_32_RESTORE_SIGMASK) |
#define | _TIF_32_DEBUG (1<<TIF_32_DEBUG) |
#define | _TIF_32_IO_BITMAP (1<<TIF_32_IO_BITMAP) |
#define | TIF_64_SYSCALL_TRACE 0 /* syscall trace active */ |
#define | TIF_64_NOTIFY_RESUME 1 /* resumption notification requested */ |
#define | TIF_64_SIGPENDING 2 /* signal pending */ |
#define | TIF_64_NEED_RESCHED 3 /* rescheduling necessary */ |
#define | TIF_64_SINGLESTEP 4 /* reenable singlestep on user return*/ |
#define | TIF_64_IRET 5 /* force IRET */ |
#define | TIF_64_SYSCALL_AUDIT 7 /* syscall auditing active */ |
#define | TIF_64_SECCOMP 8 /* secure computing */ |
#define | TIF_64_IA32 17 /* 32bit process */ |
#define | TIF_64_FORK 18 /* ret_from_fork */ |
#define | TIF_64_ABI_PENDING 19 |
#define | TIF_64_MEMDIE 20 |
#define | _TIF_64_SYSCALL_TRACE (1<<TIF_64_SYSCALL_TRACE) |
#define | _TIF_64_NOTIFY_RESUME (1<<TIF_64_NOTIFY_RESUME) |
#define | _TIF_64_SIGPENDING (1<<TIF_64_SIGPENDING) |
#define | _TIF_64_SINGLESTEP (1<<TIF_64_SINGLESTEP) |
#define | _TIF_64_NEED_RESCHED (1<<TIF_64_NEED_RESCHED) |
#define | _TIF_64_IRET (1<<TIF_64_IRET) |
#define | _TIF_64_SYSCALL_AUDIT (1<<TIF_64_SYSCALL_AUDIT) |
#define | _TIF_64_SECCOMP (1<<TIF_64_SECCOMP) |
#define | _TIF_64_IA32 (1<<TIF_64_IA32) |
#define | _TIF_64_FORK (1<<TIF_64_FORK) |
#define | _TIF_64_ABI_PENDING (1<<TIF_64_ABI_PENDING) |
#define | PREEMPT_MASK 0x000000ff |
#define | SOFTIRQ_MASK 0x0000ff00 |
#define | HARDIRQ_MASK 0x0fff0000 |
#define | PREEMPT_ACTIVE 0x10000000 |
#define | PREEMPT_NEED_RESCHED 0x80000000 |
#define | PREEMPT_BITSHIFT 0 |
#define | SOFTIRQ_BITSHIFT 8 |
#define | HARDIRQ_BITSHIFT 16 |
#define | PREEMPT_COUNT(p) (((p) & PREEMPT_MASK) >> PREEMPT_BITSHIFT) |
#define | SOFTIRQ_COUNT(p) (((p) & SOFTIRQ_MASK) >> SOFTIRQ_BITSHIFT) |
#define | HARDIRQ_COUNT(p) (((p) & HARDIRQ_MASK) >> HARDIRQ_BITSHIFT) |
Typedefs | |
typedef int(* | os_linux_list_iterator_t )(struct target *t, struct value *value, void *data) |
#define _TIF_32_DEBUG (1<<TIF_32_DEBUG) |
Definition at line 58 of file target_os_linux_generic.h.
#define _TIF_32_IO_BITMAP (1<<TIF_32_IO_BITMAP) |
Definition at line 59 of file target_os_linux_generic.h.
#define _TIF_32_IRET (1<<TIF_32_IRET) |
Definition at line 53 of file target_os_linux_generic.h.
#define _TIF_32_NEED_RESCHED (1<<TIF_32_NEED_RESCHED) |
Definition at line 51 of file target_os_linux_generic.h.
#define _TIF_32_NOTIFY_RESUME (1<<TIF_32_NOTIFY_RESUME) |
Definition at line 49 of file target_os_linux_generic.h.
#define _TIF_32_RESTORE_SIGMASK (1<<TIF_32_RESTORE_SIGMASK) |
Definition at line 57 of file target_os_linux_generic.h.
#define _TIF_32_SECCOMP (1<<TIF_32_SECCOMP) |
Definition at line 56 of file target_os_linux_generic.h.
#define _TIF_32_SIGPENDING (1<<TIF_32_SIGPENDING) |
Definition at line 50 of file target_os_linux_generic.h.
#define _TIF_32_SINGLESTEP (1<<TIF_32_SINGLESTEP) |
Definition at line 52 of file target_os_linux_generic.h.
#define _TIF_32_SYSCALL_AUDIT (1<<TIF_32_SYSCALL_AUDIT) |
Definition at line 55 of file target_os_linux_generic.h.
#define _TIF_32_SYSCALL_EMU (1<<TIF_32_SYSCALL_EMU) |
Definition at line 54 of file target_os_linux_generic.h.
#define _TIF_32_SYSCALL_TRACE (1<<TIF_32_SYSCALL_TRACE) |
Definition at line 48 of file target_os_linux_generic.h.
#define _TIF_64_ABI_PENDING (1<<TIF_64_ABI_PENDING) |
Definition at line 86 of file target_os_linux_generic.h.
#define _TIF_64_FORK (1<<TIF_64_FORK) |
Definition at line 85 of file target_os_linux_generic.h.
#define _TIF_64_IA32 (1<<TIF_64_IA32) |
Definition at line 84 of file target_os_linux_generic.h.
#define _TIF_64_IRET (1<<TIF_64_IRET) |
Definition at line 81 of file target_os_linux_generic.h.
#define _TIF_64_NEED_RESCHED (1<<TIF_64_NEED_RESCHED) |
Definition at line 80 of file target_os_linux_generic.h.
#define _TIF_64_NOTIFY_RESUME (1<<TIF_64_NOTIFY_RESUME) |
Definition at line 77 of file target_os_linux_generic.h.
#define _TIF_64_SECCOMP (1<<TIF_64_SECCOMP) |
Definition at line 83 of file target_os_linux_generic.h.
#define _TIF_64_SIGPENDING (1<<TIF_64_SIGPENDING) |
Definition at line 78 of file target_os_linux_generic.h.
#define _TIF_64_SINGLESTEP (1<<TIF_64_SINGLESTEP) |
Definition at line 79 of file target_os_linux_generic.h.
#define _TIF_64_SYSCALL_AUDIT (1<<TIF_64_SYSCALL_AUDIT) |
Definition at line 82 of file target_os_linux_generic.h.
#define _TIF_64_SYSCALL_TRACE (1<<TIF_64_SYSCALL_TRACE) |
Definition at line 76 of file target_os_linux_generic.h.
#define HARDIRQ_BITSHIFT 16 |
Definition at line 327 of file target_os_linux_generic.h.
#define HARDIRQ_COUNT | ( | p | ) | (((p) & HARDIRQ_MASK) >> HARDIRQ_BITSHIFT) |
Definition at line 334 of file target_os_linux_generic.h.
#define HARDIRQ_MASK 0x0fff0000 |
Definition at line 322 of file target_os_linux_generic.h.
#define KERNEL_STACK_OFFSET (5*8) |
Definition at line 27 of file target_os_linux_generic.h.
#define PAGE_SIZE 0x1000 |
Definition at line 23 of file target_os_linux_generic.h.
#define PREEMPT_ACTIVE 0x10000000 |
Definition at line 323 of file target_os_linux_generic.h.
#define PREEMPT_BITSHIFT 0 |
Definition at line 325 of file target_os_linux_generic.h.
#define PREEMPT_COUNT | ( | p | ) | (((p) & PREEMPT_MASK) >> PREEMPT_BITSHIFT) |
Definition at line 332 of file target_os_linux_generic.h.
#define PREEMPT_MASK 0x000000ff |
Definition at line 320 of file target_os_linux_generic.h.
#define PREEMPT_NEED_RESCHED 0x80000000 |
Definition at line 324 of file target_os_linux_generic.h.
#define SOFTIRQ_BITSHIFT 8 |
Definition at line 326 of file target_os_linux_generic.h.
#define SOFTIRQ_COUNT | ( | p | ) | (((p) & SOFTIRQ_MASK) >> SOFTIRQ_BITSHIFT) |
Definition at line 333 of file target_os_linux_generic.h.
#define SOFTIRQ_MASK 0x0000ff00 |
Definition at line 321 of file target_os_linux_generic.h.
#define THREAD_INFO_GET_CPL | ( | tid | ) | (((tid) & (0x3 << 62)) >> 62) |
Definition at line 29 of file target_os_linux_generic.h.
#define THREAD_INFO_GET_TID | ( | tid | ) | ((tid) & 0xffffffff) |
Definition at line 30 of file target_os_linux_generic.h.
#define THREAD_INFO_SET_CPL | ( | tid, | |
cpl | |||
) | (tid) |= (((cpl) & 0x3) << 62) |
Definition at line 31 of file target_os_linux_generic.h.
#define THREAD_INFO_SET_TID | ( | tid, | |
pid | |||
) | (tid) |= (0xffffffff & (pid)) |
Definition at line 32 of file target_os_linux_generic.h.
#define THREAD_SIZE 8192 |
Definition at line 25 of file target_os_linux_generic.h.
#define TIF_32_DEBUG 17 /* uses debug registers */ |
Definition at line 45 of file target_os_linux_generic.h.
#define TIF_32_IO_BITMAP 18 /* uses I/O bitmap */ |
Definition at line 46 of file target_os_linux_generic.h.
#define TIF_32_IRET 5 /* return with iret */ |
Definition at line 39 of file target_os_linux_generic.h.
#define TIF_32_MEMDIE 16 |
Definition at line 44 of file target_os_linux_generic.h.
#define TIF_32_NEED_RESCHED 3 /* rescheduling necessary */ |
Definition at line 37 of file target_os_linux_generic.h.
#define TIF_32_NOTIFY_RESUME 1 /* resumption notification requested */ |
Definition at line 35 of file target_os_linux_generic.h.
#define TIF_32_RESTORE_SIGMASK 9 /* restore signal mask in do_signal() */ |
Definition at line 43 of file target_os_linux_generic.h.
#define TIF_32_SECCOMP 8 /* secure computing */ |
Definition at line 42 of file target_os_linux_generic.h.
#define TIF_32_SIGPENDING 2 /* signal pending */ |
Definition at line 36 of file target_os_linux_generic.h.
#define TIF_32_SINGLESTEP 4 /* restore singlestep on return to user mode */ |
Definition at line 38 of file target_os_linux_generic.h.
#define TIF_32_SYSCALL_AUDIT 7 /* syscall auditing active */ |
Definition at line 41 of file target_os_linux_generic.h.
#define TIF_32_SYSCALL_EMU 6 /* syscall emulation active */ |
Definition at line 40 of file target_os_linux_generic.h.
#define TIF_32_SYSCALL_TRACE 0 /* syscall trace active */ |
Definition at line 34 of file target_os_linux_generic.h.
#define TIF_64_ABI_PENDING 19 |
Definition at line 73 of file target_os_linux_generic.h.
#define TIF_64_FORK 18 /* ret_from_fork */ |
Definition at line 72 of file target_os_linux_generic.h.
#define TIF_64_IA32 17 /* 32bit process */ |
Definition at line 71 of file target_os_linux_generic.h.
#define TIF_64_IRET 5 /* force IRET */ |
Definition at line 67 of file target_os_linux_generic.h.
#define TIF_64_MEMDIE 20 |
Definition at line 74 of file target_os_linux_generic.h.
#define TIF_64_NEED_RESCHED 3 /* rescheduling necessary */ |
Definition at line 65 of file target_os_linux_generic.h.
#define TIF_64_NOTIFY_RESUME 1 /* resumption notification requested */ |
Definition at line 63 of file target_os_linux_generic.h.
#define TIF_64_SECCOMP 8 /* secure computing */ |
Definition at line 69 of file target_os_linux_generic.h.
#define TIF_64_SIGPENDING 2 /* signal pending */ |
Definition at line 64 of file target_os_linux_generic.h.
#define TIF_64_SINGLESTEP 4 /* reenable singlestep on user return*/ |
Definition at line 66 of file target_os_linux_generic.h.
#define TIF_64_SYSCALL_AUDIT 7 /* syscall auditing active */ |
Definition at line 68 of file target_os_linux_generic.h.
#define TIF_64_SYSCALL_TRACE 0 /* syscall trace active */ |
Definition at line 62 of file target_os_linux_generic.h.
Definition at line 343 of file target_os_linux_generic.h.
char* os_linux_file_get_path | ( | struct target * | target, |
struct value * | task, | ||
struct value * | file, | ||
char * | buf, | ||
int | buflen | ||
) |
Definition at line 3687 of file target_os_linux_generic.c.
Definition at line 3101 of file target_os_linux_generic.c.
Definition at line 3438 of file target_os_linux_generic.c.
Definition at line 3390 of file target_os_linux_generic.c.
Definition at line 3285 of file target_os_linux_generic.c.
Definition at line 3299 of file target_os_linux_generic.c.
int os_linux_list_for_each_entry | ( | struct target * | t, |
struct bsymbol * | btype, | ||
struct bsymbol * | list_head, | ||
char * | list_head_member_name, | ||
int | nofree, | ||
os_linux_list_iterator_t | iterator, | ||
void * | data | ||
) |
Definition at line 3877 of file target_os_linux_generic.c.
int os_linux_list_for_each_struct | ( | struct target * | t, |
struct bsymbol * | bsymbol, | ||
char * | list_head_member_name, | ||
int | nofree, | ||
os_linux_list_iterator_t | iterator, | ||
void * | data | ||
) |
Definition at line 3770 of file target_os_linux_generic.c.
struct value* os_linux_load_current_task_as_type | ( | struct target * | target, |
struct symbol * | datatype, | ||
REGVAL | kernel_esp | ||
) |