/linux-4.4.14/arch/mips/kernel/ |
D | kprobes.c | 216 static void save_previous_kprobe(struct kprobe_ctlblk *kcb) in save_previous_kprobe() argument 218 kcb->prev_kprobe.kp = kprobe_running(); in save_previous_kprobe() 219 kcb->prev_kprobe.status = kcb->kprobe_status; in save_previous_kprobe() 220 kcb->prev_kprobe.old_SR = kcb->kprobe_old_SR; in save_previous_kprobe() 221 kcb->prev_kprobe.saved_SR = kcb->kprobe_saved_SR; in save_previous_kprobe() 222 kcb->prev_kprobe.saved_epc = kcb->kprobe_saved_epc; in save_previous_kprobe() 225 static void restore_previous_kprobe(struct kprobe_ctlblk *kcb) in restore_previous_kprobe() argument 227 __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); in restore_previous_kprobe() 228 kcb->kprobe_status = kcb->prev_kprobe.status; in restore_previous_kprobe() 229 kcb->kprobe_old_SR = kcb->prev_kprobe.old_SR; in restore_previous_kprobe() [all …]
|
/linux-4.4.14/arch/sparc/kernel/ |
D | kprobes.c | 76 static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) in save_previous_kprobe() argument 78 kcb->prev_kprobe.kp = kprobe_running(); in save_previous_kprobe() 79 kcb->prev_kprobe.status = kcb->kprobe_status; in save_previous_kprobe() 80 kcb->prev_kprobe.orig_tnpc = kcb->kprobe_orig_tnpc; in save_previous_kprobe() 81 kcb->prev_kprobe.orig_tstate_pil = kcb->kprobe_orig_tstate_pil; in save_previous_kprobe() 84 static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) in restore_previous_kprobe() argument 86 __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); in restore_previous_kprobe() 87 kcb->kprobe_status = kcb->prev_kprobe.status; in restore_previous_kprobe() 88 kcb->kprobe_orig_tnpc = kcb->prev_kprobe.orig_tnpc; in restore_previous_kprobe() 89 kcb->kprobe_orig_tstate_pil = kcb->prev_kprobe.orig_tstate_pil; in restore_previous_kprobe() [all …]
|
/linux-4.4.14/arch/tile/kernel/ |
D | kprobes.c | 152 static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) in save_previous_kprobe() argument 154 kcb->prev_kprobe.kp = kprobe_running(); in save_previous_kprobe() 155 kcb->prev_kprobe.status = kcb->kprobe_status; in save_previous_kprobe() 156 kcb->prev_kprobe.saved_pc = kcb->kprobe_saved_pc; in save_previous_kprobe() 159 static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) in restore_previous_kprobe() argument 161 __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); in restore_previous_kprobe() 162 kcb->kprobe_status = kcb->prev_kprobe.status; in restore_previous_kprobe() 163 kcb->kprobe_saved_pc = kcb->prev_kprobe.saved_pc; in restore_previous_kprobe() 167 struct kprobe_ctlblk *kcb) in set_current_kprobe() argument 170 kcb->kprobe_saved_pc = regs->pc; in set_current_kprobe() [all …]
|
/linux-4.4.14/arch/powerpc/kernel/ |
D | kprobes.c | 113 static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) in save_previous_kprobe() argument 115 kcb->prev_kprobe.kp = kprobe_running(); in save_previous_kprobe() 116 kcb->prev_kprobe.status = kcb->kprobe_status; in save_previous_kprobe() 117 kcb->prev_kprobe.saved_msr = kcb->kprobe_saved_msr; in save_previous_kprobe() 120 static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) in restore_previous_kprobe() argument 122 __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); in restore_previous_kprobe() 123 kcb->kprobe_status = kcb->prev_kprobe.status; in restore_previous_kprobe() 124 kcb->kprobe_saved_msr = kcb->prev_kprobe.saved_msr; in restore_previous_kprobe() 128 struct kprobe_ctlblk *kcb) in set_current_kprobe() argument 131 kcb->kprobe_saved_msr = regs->msr; in set_current_kprobe() [all …]
|
/linux-4.4.14/arch/x86/kernel/kprobes/ |
D | core.c | 464 save_previous_kprobe(struct kprobe_ctlblk *kcb) in save_previous_kprobe() argument 466 kcb->prev_kprobe.kp = kprobe_running(); in save_previous_kprobe() 467 kcb->prev_kprobe.status = kcb->kprobe_status; in save_previous_kprobe() 468 kcb->prev_kprobe.old_flags = kcb->kprobe_old_flags; in save_previous_kprobe() 469 kcb->prev_kprobe.saved_flags = kcb->kprobe_saved_flags; in save_previous_kprobe() 473 restore_previous_kprobe(struct kprobe_ctlblk *kcb) in restore_previous_kprobe() argument 475 __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); in restore_previous_kprobe() 476 kcb->kprobe_status = kcb->prev_kprobe.status; in restore_previous_kprobe() 477 kcb->kprobe_old_flags = kcb->prev_kprobe.old_flags; in restore_previous_kprobe() 478 kcb->kprobe_saved_flags = kcb->prev_kprobe.saved_flags; in restore_previous_kprobe() [all …]
|
D | ftrace.c | 30 struct kprobe_ctlblk *kcb, unsigned long orig_ip) in __skip_singlestep() argument 38 kcb->kprobe_status = KPROBE_HIT_SSDONE; in __skip_singlestep() 48 struct kprobe_ctlblk *kcb) in skip_singlestep() argument 51 return __skip_singlestep(p, regs, kcb, 0); in skip_singlestep() 62 struct kprobe_ctlblk *kcb; in kprobe_ftrace_handler() local 72 kcb = get_kprobe_ctlblk(); in kprobe_ftrace_handler() 81 kcb->kprobe_status = KPROBE_HIT_ACTIVE; in kprobe_ftrace_handler() 83 __skip_singlestep(p, regs, kcb, orig_ip); in kprobe_ftrace_handler()
|
D | common.h | 100 struct kprobe_ctlblk *kcb); 103 struct kprobe_ctlblk *kcb) in skip_singlestep() argument
|
D | opt.c | 144 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in optimized_callback() local 166 kcb->kprobe_status = KPROBE_HIT_ACTIVE; in optimized_callback()
|
/linux-4.4.14/arch/s390/kernel/ |
D | kprobes.c | 156 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in swap_instruction() local 157 unsigned long status = kcb->kprobe_status; in swap_instruction() 180 kcb->kprobe_status = KPROBE_SWAP_INST; in swap_instruction() 182 kcb->kprobe_status = status; in swap_instruction() 209 static void enable_singlestep(struct kprobe_ctlblk *kcb, in enable_singlestep() argument 221 __ctl_store(kcb->kprobe_saved_ctl, 9, 11); in enable_singlestep() 222 kcb->kprobe_saved_imask = regs->psw.mask & in enable_singlestep() 233 static void disable_singlestep(struct kprobe_ctlblk *kcb, in disable_singlestep() argument 238 __ctl_load(kcb->kprobe_saved_ctl, 9, 11); in disable_singlestep() 240 regs->psw.mask |= kcb->kprobe_saved_imask; in disable_singlestep() [all …]
|
/linux-4.4.14/arch/sh/kernel/ |
D | kprobes.c | 124 static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) in save_previous_kprobe() argument 126 kcb->prev_kprobe.kp = kprobe_running(); in save_previous_kprobe() 127 kcb->prev_kprobe.status = kcb->kprobe_status; in save_previous_kprobe() 130 static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) in restore_previous_kprobe() argument 132 __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); in restore_previous_kprobe() 133 kcb->kprobe_status = kcb->prev_kprobe.status; in restore_previous_kprobe() 137 struct kprobe_ctlblk *kcb) in set_current_kprobe() argument 220 struct kprobe_ctlblk *kcb; in kprobe_handler() local 227 kcb = get_kprobe_ctlblk(); in kprobe_handler() 235 if (kcb->kprobe_status == KPROBE_HIT_SS && in kprobe_handler() [all …]
|
/linux-4.4.14/arch/arm/probes/kprobes/ |
D | core.c | 201 static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) in save_previous_kprobe() argument 203 kcb->prev_kprobe.kp = kprobe_running(); in save_previous_kprobe() 204 kcb->prev_kprobe.status = kcb->kprobe_status; in save_previous_kprobe() 207 static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) in restore_previous_kprobe() argument 209 __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); in restore_previous_kprobe() 210 kcb->kprobe_status = kcb->prev_kprobe.status; in restore_previous_kprobe() 233 singlestep(struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb) in singlestep() argument 248 struct kprobe_ctlblk *kcb; in kprobe_handler() local 250 kcb = get_kprobe_ctlblk(); in kprobe_handler() 270 switch (kcb->kprobe_status) { in kprobe_handler() [all …]
|
D | opt-arm.c | 168 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in optimized_callback() local 180 kcb->kprobe_status = KPROBE_HIT_ACTIVE; in optimized_callback()
|
/linux-4.4.14/arch/arc/kernel/ |
D | kprobes.c | 82 static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) in save_previous_kprobe() argument 84 kcb->prev_kprobe.kp = kprobe_running(); in save_previous_kprobe() 85 kcb->prev_kprobe.status = kcb->kprobe_status; in save_previous_kprobe() 88 static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) in restore_previous_kprobe() argument 90 __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); in restore_previous_kprobe() 91 kcb->kprobe_status = kcb->prev_kprobe.status; in restore_previous_kprobe() 199 struct kprobe_ctlblk *kcb; in arc_kprobe_handler() local 203 kcb = get_kprobe_ctlblk(); in arc_kprobe_handler() 215 save_previous_kprobe(kcb); in arc_kprobe_handler() 219 kcb->kprobe_status = KPROBE_REENTER; in arc_kprobe_handler() [all …]
|
/linux-4.4.14/arch/ia64/kernel/ |
D | kprobes.c | 387 static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) in save_previous_kprobe() argument 390 i = atomic_add_return(1, &kcb->prev_kprobe_index); in save_previous_kprobe() 391 kcb->prev_kprobe[i-1].kp = kprobe_running(); in save_previous_kprobe() 392 kcb->prev_kprobe[i-1].status = kcb->kprobe_status; in save_previous_kprobe() 395 static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) in restore_previous_kprobe() argument 398 i = atomic_read(&kcb->prev_kprobe_index); in restore_previous_kprobe() 399 __this_cpu_write(current_kprobe, kcb->prev_kprobe[i-1].kp); in restore_previous_kprobe() 400 kcb->kprobe_status = kcb->prev_kprobe[i-1].status; in restore_previous_kprobe() 401 atomic_sub(1, &kcb->prev_kprobe_index); in restore_previous_kprobe() 405 struct kprobe_ctlblk *kcb) in set_current_kprobe() argument [all …]
|