Lines Matching refs:kcb
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()
245 save_previous_kprobe(kcb); in kprobe_handler()
246 set_current_kprobe(p, regs, kcb); in kprobe_handler()
249 kcb->kprobe_status = KPROBE_REENTER; in kprobe_handler()
277 set_current_kprobe(p, regs, kcb); in kprobe_handler()
278 kcb->kprobe_status = KPROBE_HIT_ACTIVE; in kprobe_handler()
286 kcb->kprobe_status = KPROBE_HIT_SS; in kprobe_handler()
374 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in post_kprobe_handler() local
381 if ((kcb->kprobe_status != KPROBE_REENTER) && cur->post_handler) { in post_kprobe_handler()
382 kcb->kprobe_status = KPROBE_HIT_SSDONE; in post_kprobe_handler()
407 if (kcb->kprobe_status == KPROBE_REENTER) { in post_kprobe_handler()
408 restore_previous_kprobe(kcb); in post_kprobe_handler()
423 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in kprobe_fault_handler() local
426 switch (kcb->kprobe_status) { in kprobe_fault_handler()
437 if (kcb->kprobe_status == KPROBE_REENTER) in kprobe_fault_handler()
438 restore_previous_kprobe(kcb); in kprobe_fault_handler()
493 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in kprobe_exceptions_notify() local
506 if ((kcb->kprobe_status == KPROBE_HIT_SS) || in kprobe_exceptions_notify()
507 (kcb->kprobe_status == KPROBE_REENTER)) { in kprobe_exceptions_notify()
530 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in setjmp_pre_handler() local
532 kcb->jprobe_saved_regs = *regs; in setjmp_pre_handler()
533 kcb->jprobe_saved_r15 = regs->regs[15]; in setjmp_pre_handler()
534 addr = kcb->jprobe_saved_r15; in setjmp_pre_handler()
543 memcpy(kcb->jprobes_stack, (kprobe_opcode_t *) addr, in setjmp_pre_handler()
558 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in longjmp_break_handler() local
559 unsigned long stack_addr = kcb->jprobe_saved_r15; in longjmp_break_handler()
564 *regs = kcb->jprobe_saved_regs; in longjmp_break_handler()
566 memcpy((kprobe_opcode_t *)stack_addr, kcb->jprobes_stack, in longjmp_break_handler()
569 kcb->kprobe_status = KPROBE_HIT_SS; in longjmp_break_handler()