| /arch/x86/kernel/ |
| A D | dumpstack_32.c | 47 if (stack < begin || stack > end) in in_hardirq_stack() 72 if (stack < begin || stack > end) in in_softirq_stack() 93 void *begin = ss->stack; in in_doublefault_stack() 94 void *end = begin + sizeof(ss->stack); in in_doublefault_stack() 96 if ((void *)stack < begin || (void *)stack >= end) in in_doublefault_stack() 111 if (!stack) in get_stack_info() 116 if (in_task_stack(stack, task, info)) in get_stack_info() 122 if (in_entry_stack(stack, info)) in get_stack_info() 125 if (in_hardirq_stack(stack, info)) in get_stack_info() 128 if (in_softirq_stack(stack, info)) in get_stack_info() [all …]
|
| A D | dumpstack.c | 36 if (stack < begin || stack >= end) in in_task_stack() 55 if ((void *)stack < begin || (void *)stack >= end) in in_entry_stack() 195 unwind_start(&state, task, regs, stack); in show_trace_log_lvl() 196 stack = stack ?: get_stack_pointer(task, regs); in show_trace_log_lvl() 215 for (; stack; stack = stack_info.next_sp) { in show_trace_log_lvl() 218 stack = PTR_ALIGN(stack, sizeof(long)); in show_trace_log_lvl() 227 stack = (unsigned long *)PAGE_ALIGN((unsigned long)stack); in show_trace_log_lvl() 249 for (; stack < stack_info.end; stack++) { in show_trace_log_lvl() 263 if (regs && stack == ®s->ip) in show_trace_log_lvl() 266 if (stack == ret_addr_p) in show_trace_log_lvl() [all …]
|
| A D | dumpstack_64.c | 96 unsigned long begin, end, stk = (unsigned long)stack; in in_exception_stack() 135 static __always_inline bool in_irq_stack(unsigned long *stack, struct stack_info *info) in in_irq_stack() argument 153 if (stack < begin || stack >= end) in in_irq_stack() 170 bool noinstr get_stack_info_noinstr(unsigned long *stack, struct task_struct *task, in get_stack_info_noinstr() argument 173 if (in_task_stack(stack, task, info)) in get_stack_info_noinstr() 179 if (in_exception_stack(stack, info)) in get_stack_info_noinstr() 182 if (in_irq_stack(stack, info)) in get_stack_info_noinstr() 185 if (in_entry_stack(stack, info)) in get_stack_info_noinstr() 191 int get_stack_info(unsigned long *stack, struct task_struct *task, in get_stack_info() argument 196 if (!stack) in get_stack_info() [all …]
|
| A D | rethook.c | 119 unsigned long *stack = (unsigned long *)regs->sp; in arch_rethook_prepare() local 121 rh->ret_addr = stack[0]; in arch_rethook_prepare() 125 stack[0] = (unsigned long) arch_rethook_trampoline; in arch_rethook_prepare()
|
| /arch/s390/kernel/ |
| A D | dumpstack.c | 45 enum stack_type type, unsigned long stack) in in_stack() argument 47 if (sp < stack || sp >= stack + THREAD_SIZE) in in_stack() 50 info->begin = stack; in in_stack() 51 info->end = stack + THREAD_SIZE; in in_stack() 58 unsigned long stack = (unsigned long)task_stack_page(task); in in_task_stack() local 60 return in_stack(sp, info, STACK_TYPE_TASK, stack); in in_task_stack() 67 return in_stack(sp, info, STACK_TYPE_IRQ, stack); in in_irq_stack() 74 return in_stack(sp, info, STACK_TYPE_NODAT, stack); in in_nodat_stack() 81 return in_stack(sp, info, STACK_TYPE_MCCK, stack); in in_mcck_stack() 88 return in_stack(sp, info, STACK_TYPE_RESTART, stack); in in_restart_stack() [all …]
|
| /arch/openrisc/kernel/ |
| A D | unwinder.c | 60 void unwind_stack(void *data, unsigned long *stack, in unwind_stack() argument 67 while (!kstack_end(stack)) { in unwind_stack() 68 frameinfo = container_of(stack, in unwind_stack() 83 stack++; in unwind_stack() 93 void unwind_stack(void *data, unsigned long *stack, in unwind_stack() argument 98 while (!kstack_end(stack)) { in unwind_stack() 99 addr = *stack++; in unwind_stack()
|
| /arch/nios2/kernel/ |
| A D | traps.c | 60 void show_stack(struct task_struct *task, unsigned long *stack, in show_stack() argument 66 if (!stack) { in show_stack() 68 stack = (unsigned long *)task->thread.ksp; in show_stack() 70 stack = (unsigned long *)&stack; in show_stack() 73 addr = (unsigned long) stack; in show_stack() 76 printk("%sStack from %08lx:", loglvl, (unsigned long)stack); in show_stack() 78 if (stack + 1 > endstack) in show_stack() 82 printk("%s %08lx", loglvl, *stack++); in show_stack() 87 while (stack + 1 <= endstack) { in show_stack() 88 addr = *stack++; in show_stack()
|
| /arch/um/kernel/ |
| A D | sysrq.c | 29 void show_stack(struct task_struct *task, unsigned long *stack, in show_stack() argument 35 if (!stack) in show_stack() 36 stack = get_stack_pointer(task, segv_regs); in show_stack() 40 if (kstack_end(stack)) in show_stack() 44 pr_cont(" %08lx", READ_ONCE_NOCHECK(*stack)); in show_stack() 45 stack++; in show_stack()
|
| /arch/um/kernel/skas/ |
| A D | mmu.c | 29 unsigned long stack = 0; in init_new_context() local 32 stack = __get_free_pages(GFP_KERNEL | __GFP_ZERO, ilog2(STUB_DATA_PAGES)); in init_new_context() 33 if (stack == 0) in init_new_context() 36 new_id->stack = stack; in init_new_context() 53 free_pages(new_id->stack, ilog2(STUB_DATA_PAGES)); in init_new_context() 84 free_pages(mmu->id.stack, ilog2(STUB_DATA_PAGES)); in destroy_context() 117 stub_data = (void *)mm_context->id.stack; in mm_sigchld_irq()
|
| /arch/x86/include/asm/ |
| A D | stacktrace.h | 31 bool in_task_stack(unsigned long *stack, struct task_struct *task, 34 bool in_entry_stack(unsigned long *stack, struct stack_info *info); 36 int get_stack_info(unsigned long *stack, struct task_struct *task, 38 bool get_stack_info_noinstr(unsigned long *stack, struct task_struct *task, 42 bool get_stack_guard_info(unsigned long *stack, struct stack_info *info) in get_stack_guard_info() argument 45 if (get_stack_info_noinstr(stack, current, info)) in get_stack_guard_info() 48 return get_stack_info_noinstr((void *)stack + PAGE_SIZE, current, info); in get_stack_guard_info()
|
| /arch/um/os-Linux/ |
| A D | helper.c | 47 unsigned long stack, sp; in run_helper() local 50 stack = alloc_stack(0, __uml_cant_sleep()); in run_helper() 51 if (stack == 0) in run_helper() 69 sp = stack + UM_KERN_PAGE_SIZE; in run_helper() 115 free_stack(stack, 0); in run_helper() 122 unsigned long stack, sp; in run_helper_thread() local 129 stack = alloc_stack(0, __uml_cant_sleep()); in run_helper_thread() 130 if (stack == 0) in run_helper_thread() 133 sp = stack + UM_KERN_PAGE_SIZE; in run_helper_thread() 152 free_stack(stack, 0); in run_helper_thread() [all …]
|
| /arch/powerpc/kernel/ |
| A D | stacktrace.c | 44 unsigned long *stack = (unsigned long *) sp; in arch_stack_walk() local 50 newsp = stack[0]; in arch_stack_walk() 51 ip = stack[STACK_FRAME_LR_SAVE]; in arch_stack_walk() 96 unsigned long *stack = (unsigned long *) sp; in arch_stack_walk_reliable() local 103 newsp = stack[0]; in arch_stack_walk_reliable() 123 stack[STACK_INT_FRAME_MARKER_LONGS] == STACK_FRAME_REGS_MARKER) { in arch_stack_walk_reliable() 128 ip = stack[STACK_FRAME_LR_SAVE]; in arch_stack_walk_reliable() 136 ip = ftrace_graph_ret_addr(task, &graph_idx, ip, stack); in arch_stack_walk_reliable()
|
| /arch/loongarch/ |
| A D | Kconfig.debug | 5 This determines which method will be used for unwinding kernel stack 6 traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack, 12 This option enables the "guess" unwinder for unwinding kernel stack 13 traces. It scans the stack and reports every kernel text address it 23 This option enables the "prologue" unwinder for unwinding kernel stack 24 traces. It unwind the stack frame based on prologue code analyze. Symbol 35 unwinding kernel stack traces. It uses a custom data format which is
|
| /arch/um/os-Linux/skas/ |
| A D | mem.c | 27 struct stub_data *proc_data = (void *)mm_idp->stack; in syscall_stub_dump_error() 59 unsigned long *stack) in check_init_stack() argument 61 if (stack == NULL) { in check_init_stack() 62 stack = (unsigned long *) mm_idp->stack + 2; in check_init_stack() 63 *stack = 0; in check_init_stack() 65 return stack; in check_init_stack() 89 struct stub_data *proc_data = (void *)mm_idp->stack; in do_syscall_stub() 160 struct stub_data *proc_data = (struct stub_data *) mm_idp->stack; in syscall_stub_alloc() 183 struct stub_data *proc_data = (void *) mm_idp->stack; in syscall_stub_get_previous()
|
| /arch/powerpc/include/asm/ |
| A D | xics.h | 106 unsigned char stack[MAX_NUM_PRIORITIES]; member 120 os_cppr->stack[++os_cppr->index] = IPI_PRIORITY; in xics_push_cppr() 122 os_cppr->stack[++os_cppr->index] = DEFAULT_PRIORITY; in xics_push_cppr() 132 return os_cppr->stack[--os_cppr->index]; in xics_pop_cppr() 144 os_cppr->stack[0] = cppr; in xics_set_base_cppr() 151 return os_cppr->stack[os_cppr->index]; in xics_cppr_top()
|
| /arch/arm/kernel/ |
| A D | irq.c | 56 u8 *stack; in init_irq_stacks() local 61 stack = (u8 *)__get_free_pages(GFP_KERNEL, in init_irq_stacks() 64 stack = __vmalloc_node(THREAD_SIZE, THREAD_ALIGN, in init_irq_stacks() 68 if (WARN_ON(!stack)) in init_irq_stacks() 70 per_cpu(irq_stack_ptr, cpu) = &stack[THREAD_SIZE]; in init_irq_stacks()
|
| /arch/loongarch/kernel/ |
| A D | process.c | 169 unsigned long usp = args->stack; in copy_thread() 253 bool in_irq_stack(unsigned long stack, struct stack_info *info) in in_irq_stack() argument 259 if (stack < begin || stack >= end) in in_irq_stack() 274 bool in_task_stack(unsigned long stack, struct task_struct *task, in in_task_stack() argument 280 if (stack < begin || stack >= end) in in_task_stack() 291 int get_stack_info(unsigned long stack, struct task_struct *task, in get_stack_info() argument 296 if (!stack || stack & (SZREG - 1)) in get_stack_info() 299 if (in_task_stack(stack, task, info)) in get_stack_info() 305 if (in_irq_stack(stack, info)) in get_stack_info()
|
| /arch/arm64/include/asm/stacktrace/ |
| A D | common.h | 33 struct stack_info stack; member 60 state->stack = stackinfo_get_unknown(); in unwind_init_common() 77 struct stack_info *info = &state->stack; in unwind_find_stack() 129 state->stack = tmp; in unwind_consume_stack() 135 state->stack.low = sp + size; in unwind_consume_stack()
|
| /arch/x86/entry/ |
| A D | Makefile | 13 CFLAGS_syscall_32.o += -fno-stack-protector 14 CFLAGS_syscall_64.o += -fno-stack-protector 22 CFLAGS_entry_fred.o += -fno-stack-protector
|
| /arch/loongarch/include/asm/ |
| A D | stacktrace.h | 30 bool in_irq_stack(unsigned long stack, struct stack_info *info); 31 bool in_task_stack(unsigned long stack, struct task_struct *task, struct stack_info *info); 32 int get_stack_info(unsigned long stack, struct task_struct *task, struct stack_info *info); 36 return !(((unsigned long)(current->stack) ^ current_stack_pointer) & ~(THREAD_SIZE - 1)); in on_thread_stack()
|
| /arch/m68k/ifpsp060/ |
| A D | ilsp.doc | 86 subq.l &0x8,%sp # make room for result on stack 87 pea (%sp) # pass: result addr on stack 88 mov.l %d0,-(%sp) # pass: multiplicand on stack 91 add.l &0xc,%sp # clear arguments from stack 101 pea (%sp) # pass: result addr on stack 102 mov.l %d0,-(%sp) # pass: dividend hi on stack 103 mov.l %d1,-(%sp) # pass: dividend hi on stack 104 mov.l _divisor,-(%sp) # pass: divisor on stack 106 add.l &0xc,%sp # clear arguments from stack 113 other items off of the stack. [all …]
|
| /arch/sparc/kernel/ |
| A D | process.c | 25 .stack = regs->u_regs[UREG_FP], in sparc_fork() 50 .stack = regs->u_regs[UREG_FP], in sparc_vfork() 95 args.stack = regs->u_regs[UREG_I1]; in sparc_clone() 97 args.stack = regs->u_regs[UREG_FP]; in sparc_clone()
|
| /arch/parisc/kernel/ |
| A D | process.c | 205 unsigned long usp = args->stack; in copy_thread() 208 void *stack = task_stack_page(p); in copy_thread() local 224 cregs->ksp = (unsigned long) stack + FRAME_SIZE + PT_SZ_ALGN; in copy_thread() 247 cregs->ksp = (unsigned long) stack + FRAME_SIZE; in copy_thread()
|
| /arch/x86/purgatory/ |
| A D | stack.S | 16 SYM_DATA_START(stack) 18 SYM_DATA_END_LABEL(stack, SYM_L_GLOBAL, stack_end)
|
| /arch/s390/purgatory/ |
| A D | head.S | 34 #define bufsz purgatory_end-stack 48 larl %r1,stack 162 larl %r12,stack 184 larl %r7,stack 261 SYM_DATA_START_LOCAL(stack) 263 .skip stack-purgatory_start 265 SYM_DATA_END_LABEL(stack, SYM_L_LOCAL, purgatory_end)
|