/kernel/bpf/ |
D | verifier.c | 166 struct reg_state regs[MAX_BPF_REG]; member 258 t = env->cur_state.regs[i].type; in print_verifier_state() 263 verbose("%d", env->cur_state.regs[i].imm); in print_verifier_state() 267 env->cur_state.regs[i].map_ptr->key_size, in print_verifier_state() 268 env->cur_state.regs[i].map_ptr->value_size); in print_verifier_state() 484 static void init_reg_state(struct reg_state *regs) in init_reg_state() argument 489 regs[i].type = NOT_INIT; in init_reg_state() 490 regs[i].imm = 0; in init_reg_state() 491 regs[i].map_ptr = NULL; in init_reg_state() 495 regs[BPF_REG_FP].type = FRAME_PTR; in init_reg_state() [all …]
|
D | core.c | 34 #define BPF_R0 regs[BPF_REG_0] 35 #define BPF_R1 regs[BPF_REG_1] 36 #define BPF_R2 regs[BPF_REG_2] 37 #define BPF_R3 regs[BPF_REG_3] 38 #define BPF_R4 regs[BPF_REG_4] 39 #define BPF_R5 regs[BPF_REG_5] 40 #define BPF_R6 regs[BPF_REG_6] 41 #define BPF_R7 regs[BPF_REG_7] 42 #define BPF_R8 regs[BPF_REG_8] 43 #define BPF_R9 regs[BPF_REG_9] [all …]
|
/kernel/events/ |
D | callchain.c | 28 struct pt_regs *regs) in perf_callchain_kernel() argument 33 struct pt_regs *regs) in perf_callchain_user() argument 154 perf_callchain(struct perf_event *event, struct pt_regs *regs) in perf_callchain() argument 174 if (kernel && !user_mode(regs)) { in perf_callchain() 176 perf_callchain_kernel(entry, regs); in perf_callchain() 180 if (!user_mode(regs)) { in perf_callchain() 182 regs = task_pt_regs(current); in perf_callchain() 184 regs = NULL; in perf_callchain() 187 if (regs) { in perf_callchain() 195 perf_callchain_user(entry, regs); in perf_callchain()
|
D | uprobes.c | 1373 unsigned long __weak uprobe_get_swbp_addr(struct pt_regs *regs) in uprobe_get_swbp_addr() argument 1375 return instruction_pointer(regs) - UPROBE_SWBP_INSN_SIZE; in uprobe_get_swbp_addr() 1378 unsigned long uprobe_get_trap_addr(struct pt_regs *regs) in uprobe_get_trap_addr() argument 1385 return instruction_pointer(regs); in uprobe_get_trap_addr() 1531 struct pt_regs *regs) in cleanup_return_instances() argument 1536 while (ri && !arch_uretprobe_is_alive(ri, ctx, regs)) { in cleanup_return_instances() 1543 static void prepare_uretprobe(struct uprobe *uprobe, struct pt_regs *regs) in prepare_uretprobe() argument 1569 orig_ret_vaddr = arch_uretprobe_hijack_return_addr(trampoline_vaddr, regs); in prepare_uretprobe() 1575 cleanup_return_instances(utask, chained, regs); in prepare_uretprobe() 1595 ri->func = instruction_pointer(regs); in prepare_uretprobe() [all …]
|
D | internal.h | 184 perf_callchain(struct perf_event *event, struct pt_regs *regs); 222 #define perf_user_stack_pointer(regs) user_stack_pointer(regs) argument 229 #define perf_user_stack_pointer(regs) 0 argument
|
D | core.c | 5082 struct pt_regs *regs, u64 mask) in perf_output_sample_regs() argument 5090 val = perf_reg_value(regs, bit); in perf_output_sample_regs() 5096 struct pt_regs *regs, in perf_sample_regs_user() argument 5099 if (user_mode(regs)) { in perf_sample_regs_user() 5101 regs_user->regs = regs; in perf_sample_regs_user() 5103 perf_get_regs_user(regs_user, regs, regs_user_copy); in perf_sample_regs_user() 5106 regs_user->regs = NULL; in perf_sample_regs_user() 5111 struct pt_regs *regs) in perf_sample_regs_intr() argument 5113 regs_intr->regs = regs; in perf_sample_regs_intr() 5125 static u64 perf_ustack_task_size(struct pt_regs *regs) in perf_ustack_task_size() argument [all …]
|
/kernel/trace/ |
D | trace_uprobe.c | 78 static int uprobe_dispatcher(struct uprobe_consumer *con, struct pt_regs *regs); 80 unsigned long func, struct pt_regs *regs); 94 static unsigned long get_user_stack_nth(struct pt_regs *regs, unsigned int n) in get_user_stack_nth() argument 97 unsigned long addr = user_stack_pointer(regs); in get_user_stack_nth() 111 static void FETCH_FUNC_NAME(stack, type)(struct pt_regs *regs, \ 114 *(type *)dest = (type)get_user_stack_nth(regs, \ 123 static void FETCH_FUNC_NAME(memory, type)(struct pt_regs *regs, \ 139 static void FETCH_FUNC_NAME(memory, string)(struct pt_regs *regs, in DEFINE_BASIC_FETCH_FUNCS() 170 static void FETCH_FUNC_NAME(memory, string_size)(struct pt_regs *regs, in FETCH_FUNC_NAME() 196 static void FETCH_FUNC_NAME(file_offset, type)(struct pt_regs *regs, \ [all …]
|
D | trace_kprobe.c | 82 static int kprobe_dispatcher(struct kprobe *kp, struct pt_regs *regs); 84 struct pt_regs *regs); 135 static void FETCH_FUNC_NAME(stack, type)(struct pt_regs *regs, \ 138 *(type *)dest = (type)regs_get_kernel_stack_nth(regs, \ 149 static void FETCH_FUNC_NAME(memory, type)(struct pt_regs *regs, \ 165 static void FETCH_FUNC_NAME(memory, string)(struct pt_regs *regs, in DEFINE_BASIC_FETCH_FUNCS() 191 static void FETCH_FUNC_NAME(memory, string_size)(struct pt_regs *regs, in FETCH_FUNC_NAME() 218 void FETCH_FUNC_NAME(symbol, type)(struct pt_regs *regs, void *data, void *dest)\ 222 fetch_memory_##type(regs, (void *)sc->addr, dest); \ 913 __kprobe_trace_func(struct trace_kprobe *tk, struct pt_regs *regs, in __kprobe_trace_func() argument [all …]
|
D | trace_syscalls.c | 64 trace_get_syscall_nr(struct task_struct *task, struct pt_regs *regs) in trace_get_syscall_nr() argument 66 if (unlikely(arch_trace_is_compat_syscall(regs))) in trace_get_syscall_nr() 69 return syscall_get_nr(task, regs); in trace_get_syscall_nr() 73 trace_get_syscall_nr(struct task_struct *task, struct pt_regs *regs) in trace_get_syscall_nr() argument 75 return syscall_get_nr(task, regs); in trace_get_syscall_nr() 294 static void ftrace_syscall_enter(void *data, struct pt_regs *regs, long id) in ftrace_syscall_enter() argument 307 syscall_nr = trace_get_syscall_nr(current, regs); in ftrace_syscall_enter() 336 syscall_get_arguments(current, regs, 0, sys_data->nb_args, entry->args); in ftrace_syscall_enter() 342 static void ftrace_syscall_exit(void *data, struct pt_regs *regs, long ret) in ftrace_syscall_exit() argument 354 syscall_nr = trace_get_syscall_nr(current, regs); in ftrace_syscall_exit() [all …]
|
D | trace_probe.c | 86 void FETCH_FUNC_NAME(reg, type)(struct pt_regs *regs, void *offset, void *dest) \ 88 *(type *)dest = (type)regs_get_register(regs, \ 98 void FETCH_FUNC_NAME(retval, type)(struct pt_regs *regs, \ 101 *(type *)dest = (type)regs_return_value(regs); \ 118 void FETCH_FUNC_NAME(deref, type)(struct pt_regs *regs, \ 123 call_fetch(&dprm->orig, regs, &addr); \ 126 dprm->fetch(regs, (void *)addr, dest); \ 134 void FETCH_FUNC_NAME(deref, string_size)(struct pt_regs *regs, in DEFINE_FETCH_deref() 140 call_fetch(&dprm->orig, regs, &addr); in DEFINE_FETCH_deref() 143 dprm->fetch_size(regs, (void *)addr, dest); in DEFINE_FETCH_deref() [all …]
|
D | trace_probe.h | 157 extern void FETCH_FUNC_NAME(method, type)(struct pt_regs *regs, \ 299 struct pt_regs *regs, void *dest) in call_fetch() argument 301 return fprm->fn(regs, fprm->data, dest); in call_fetch() 348 __get_data_size(struct trace_probe *tp, struct pt_regs *regs) in __get_data_size() argument 355 call_fetch(&tp->args[i].fetch_size, regs, &len); in __get_data_size() 364 store_trace_args(int ent_size, struct trace_probe *tp, struct pt_regs *regs, in store_trace_args() argument 380 call_fetch(&tp->args[i].fetch, regs, dl); in store_trace_args() 389 call_fetch(&tp->args[i].fetch, regs, in store_trace_args()
|
D | trace_event_perf.c | 264 struct pt_regs **regs, int *rctxp) in perf_trace_buf_prepare() argument 283 if (regs) in perf_trace_buf_prepare() 284 *regs = this_cpu_ptr(&__perf_regs[*rctxp]); in perf_trace_buf_prepare() 307 struct pt_regs regs; in perf_ftrace_function_call() local 319 perf_fetch_caller_regs(®s); in perf_ftrace_function_call() 328 1, ®s, head, NULL); in perf_ftrace_function_call()
|
D | bpf_trace.c | 231 struct pt_regs *regs = (struct pt_regs *) (long) r1; in bpf_perf_event_output() local 258 perf_event_output(event, &sample_data, regs); in bpf_perf_event_output()
|
/kernel/ |
D | test_kprobes.c | 35 static int kp_pre_handler(struct kprobe *p, struct pt_regs *regs) in kp_pre_handler() argument 41 static void kp_post_handler(struct kprobe *p, struct pt_regs *regs, in kp_post_handler() argument 88 static int kp_pre_handler2(struct kprobe *p, struct pt_regs *regs) in kp_pre_handler2() argument 94 static void kp_post_handler2(struct kprobe *p, struct pt_regs *regs, in kp_post_handler2() argument 233 static int entry_handler(struct kretprobe_instance *ri, struct pt_regs *regs) in entry_handler() argument 239 static int return_handler(struct kretprobe_instance *ri, struct pt_regs *regs) in return_handler() argument 241 unsigned long ret = regs_return_value(regs); in return_handler() 282 static int return_handler2(struct kretprobe_instance *ri, struct pt_regs *regs) in return_handler2() argument 284 unsigned long ret = regs_return_value(regs); in return_handler2()
|
D | seccomp.c | 75 struct pt_regs *regs = task_pt_regs(task); in populate_seccomp_data() local 78 sd->nr = syscall_get_nr(task, regs); in populate_seccomp_data() 80 syscall_get_arguments(task, regs, 0, 6, args); in populate_seccomp_data() 702 struct pt_regs *regs = task_pt_regs(current); in seccomp_phase2() local 708 audit_seccomp(syscall_get_nr(current, regs), 0, action); in seccomp_phase2() 712 syscall_set_return_value(current, regs, in seccomp_phase2() 727 if (syscall_get_nr(current, regs) < 0) in seccomp_phase2()
|
D | watchdog.c | 388 struct pt_regs *regs) in watchdog_overflow_callback() argument 414 if (regs) in watchdog_overflow_callback() 415 show_regs(regs); in watchdog_overflow_callback() 454 struct pt_regs *regs = get_irq_regs(); in watchdog_timer_fn() local 537 if (regs) in watchdog_timer_fn() 538 show_regs(regs); in watchdog_timer_fn()
|
D | kprobes.c | 319 static int aggr_pre_handler(struct kprobe *p, struct pt_regs *regs); 351 void opt_pre_handler(struct kprobe *p, struct pt_regs *regs) in opt_pre_handler() argument 358 kp->pre_handler(kp, regs); in opt_pre_handler() 1016 static int aggr_pre_handler(struct kprobe *p, struct pt_regs *regs) in aggr_pre_handler() argument 1023 if (kp->pre_handler(kp, regs)) in aggr_pre_handler() 1032 static void aggr_post_handler(struct kprobe *p, struct pt_regs *regs, in aggr_post_handler() argument 1040 kp->post_handler(kp, regs, flags); in aggr_post_handler() 1047 static int aggr_fault_handler(struct kprobe *p, struct pt_regs *regs, in aggr_fault_handler() argument 1057 if (cur->fault_handler(cur, regs, trapnr)) in aggr_fault_handler() 1064 static int aggr_break_handler(struct kprobe *p, struct pt_regs *regs) in aggr_break_handler() argument [all …]
|
D | notifier.c | 537 struct pt_regs *regs, long err, int trap, int sig) in notify_die() argument 540 .regs = regs, in notify_die()
|
D | profile.c | 412 struct pt_regs *regs = get_irq_regs(); in profile_tick() local 414 if (!user_mode(regs) && prof_cpu_mask != NULL && in profile_tick() 416 profile_hit(type, (void *)profile_pc(regs)); in profile_tick()
|
/kernel/debug/ |
D | debug_core.c | 199 unsigned long __weak kgdb_arch_pc(int exception, struct pt_regs *regs) in kgdb_arch_pc() argument 201 return instruction_pointer(regs); in kgdb_arch_pc() 209 int __weak kgdb_skipexception(int exception, struct pt_regs *regs) in kgdb_skipexception() argument 460 static int kgdb_cpu_enter(struct kgdb_state *ks, struct pt_regs *regs, in kgdb_cpu_enter() argument 480 arch_kgdb_ops.disable_hw_break(regs); in kgdb_cpu_enter() 491 kgdb_info[cpu].debuggerinfo = regs; in kgdb_cpu_enter() 688 kgdb_handle_exception(int evector, int signo, int ecode, struct pt_regs *regs) in kgdb_handle_exception() argument 710 ks->linux_regs = regs; in kgdb_handle_exception() 717 ret = kgdb_cpu_enter(ks, regs, DCPU_WANT_MASTER); in kgdb_handle_exception() 740 int kgdb_nmicallback(int cpu, void *regs) in kgdb_nmicallback() argument [all …]
|
D | gdbstub.c | 341 void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs) in pt_regs_to_gdb_regs() argument 348 dbg_get_reg(i, ptr + idx, regs); in pt_regs_to_gdb_regs() 353 void gdb_regs_to_pt_regs(unsigned long *gdb_regs, struct pt_regs *regs) in gdb_regs_to_pt_regs() argument 360 dbg_set_reg(i, ptr + idx, regs); in gdb_regs_to_pt_regs() 432 static struct task_struct *getthread(struct pt_regs *regs, int tid) in getthread() argument
|
/kernel/debug/kdb/ |
D | kdb_bp.c | 27 static void kdb_setsinglestep(struct pt_regs *regs) in kdb_setsinglestep() argument 108 static void kdb_handle_bp(struct pt_regs *regs, kdb_bp_t *bp) in kdb_handle_bp() argument 111 kdb_printf("regs->ip = 0x%lx\n", instruction_pointer(regs)); in kdb_handle_bp() 116 kdb_setsinglestep(regs); in kdb_handle_bp() 125 static int _kdb_bp_install(struct pt_regs *regs, kdb_bp_t *bp) in _kdb_bp_install() argument 142 kdb_handle_bp(regs, bp); in _kdb_bp_install() 174 void kdb_bp_install(struct pt_regs *regs) in kdb_bp_install() argument 186 _kdb_bp_install(regs, bp); in kdb_bp_install()
|
D | kdb_main.c | 1129 static void kdb_dumpregs(struct pt_regs *regs) in kdb_dumpregs() argument 1134 show_regs(regs); in kdb_dumpregs() 1170 static int kdb_local(kdb_reason_t reason, int error, struct pt_regs *regs, in kdb_local() argument 1205 instruction_pointer(regs)); in kdb_local() 1238 instruction_pointer(regs)); in kdb_local() 1239 kdb_dumpregs(regs); in kdb_local() 1247 instruction_pointer(regs)); in kdb_local() 1253 "Breakpoint" : "SS trap", instruction_pointer(regs)); in kdb_local() 1267 instruction_pointer(regs)); in kdb_local() 1385 kdb_dbtrap_t db_result, struct pt_regs *regs) in kdb_main_loop() argument [all …]
|
/kernel/irq/ |
D | generic-chip.c | 42 irq_reg_writel(gc, mask, ct->regs.disable); in irq_gc_mask_disable_reg() 62 irq_reg_writel(gc, *ct->mask_cache, ct->regs.mask); in irq_gc_mask_set_bit() 82 irq_reg_writel(gc, *ct->mask_cache, ct->regs.mask); in irq_gc_mask_clr_bit() 101 irq_reg_writel(gc, mask, ct->regs.enable); in irq_gc_unmask_enable_reg() 117 irq_reg_writel(gc, mask, ct->regs.ack); in irq_gc_ack_set_bit() 133 irq_reg_writel(gc, mask, ct->regs.ack); in irq_gc_ack_clr_bit() 148 irq_reg_writel(gc, mask, ct->regs.mask); in irq_gc_mask_disable_reg_and_ack() 149 irq_reg_writel(gc, mask, ct->regs.ack); in irq_gc_mask_disable_reg_and_ack() 164 irq_reg_writel(gc, mask, ct->regs.eoi); in irq_gc_eoi() 248 u32 *mskptr = &gc->mask_cache, mskreg = ct->regs.mask; in irq_gc_init_mask_cache() [all …]
|
/kernel/time/ |
D | tick-sched.c | 134 static void tick_sched_handle(struct tick_sched *ts, struct pt_regs *regs) in tick_sched_handle() argument 151 update_process_times(user_mode(regs)); in tick_sched_handle() 959 struct pt_regs *regs = get_irq_regs(); in tick_nohz_handler() local 965 tick_sched_handle(ts, regs); in tick_nohz_handler() 1087 struct pt_regs *regs = get_irq_regs(); in tick_sched_timer() local 1096 if (regs) in tick_sched_timer() 1097 tick_sched_handle(ts, regs); in tick_sched_timer()
|