Lines Matching refs:kcb

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()
483 struct kprobe_ctlblk *kcb) in set_current_kprobe() argument
486 kcb->kprobe_saved_flags = kcb->kprobe_old_flags in set_current_kprobe()
489 kcb->kprobe_saved_flags &= ~X86_EFLAGS_IF; in set_current_kprobe()
524 struct kprobe_ctlblk *kcb, int reenter) in setup_singlestep() argument
545 save_previous_kprobe(kcb); in setup_singlestep()
546 set_current_kprobe(p, regs, kcb); in setup_singlestep()
547 kcb->kprobe_status = KPROBE_REENTER; in setup_singlestep()
549 kcb->kprobe_status = KPROBE_HIT_SS; in setup_singlestep()
568 struct kprobe_ctlblk *kcb) in reenter_kprobe() argument
570 switch (kcb->kprobe_status) { in reenter_kprobe()
575 setup_singlestep(p, regs, kcb, 1); in reenter_kprobe()
606 struct kprobe_ctlblk *kcb; in kprobe_int3_handler() local
620 kcb = get_kprobe_ctlblk(); in kprobe_int3_handler()
625 if (reenter_kprobe(p, regs, kcb)) in kprobe_int3_handler()
628 set_current_kprobe(p, regs, kcb); in kprobe_int3_handler()
629 kcb->kprobe_status = KPROBE_HIT_ACTIVE; in kprobe_int3_handler()
640 setup_singlestep(p, regs, kcb, 0); in kprobe_int3_handler()
659 if (!skip_singlestep(p, regs, kcb)) in kprobe_int3_handler()
660 setup_singlestep(p, regs, kcb, 0); in kprobe_int3_handler()
827 struct kprobe_ctlblk *kcb) in resume_execution() argument
841 *tos |= kcb->kprobe_old_flags; in resume_execution()
911 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in kprobe_debug_handler() local
916 resume_execution(cur, regs, kcb); in kprobe_debug_handler()
917 regs->flags |= kcb->kprobe_saved_flags; in kprobe_debug_handler()
919 if ((kcb->kprobe_status != KPROBE_REENTER) && cur->post_handler) { in kprobe_debug_handler()
920 kcb->kprobe_status = KPROBE_HIT_SSDONE; in kprobe_debug_handler()
925 if (kcb->kprobe_status == KPROBE_REENTER) { in kprobe_debug_handler()
926 restore_previous_kprobe(kcb); in kprobe_debug_handler()
948 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in kprobe_fault_handler() local
952 WARN_ON(kcb->kprobe_status != KPROBE_HIT_SS && in kprobe_fault_handler()
953 kcb->kprobe_status != KPROBE_REENTER); in kprobe_fault_handler()
962 regs->flags |= kcb->kprobe_old_flags; in kprobe_fault_handler()
963 if (kcb->kprobe_status == KPROBE_REENTER) in kprobe_fault_handler()
964 restore_previous_kprobe(kcb); in kprobe_fault_handler()
968 } else if (kcb->kprobe_status == KPROBE_HIT_ACTIVE || in kprobe_fault_handler()
969 kcb->kprobe_status == KPROBE_HIT_SSDONE) { in kprobe_fault_handler()
1034 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in setjmp_pre_handler() local
1036 kcb->jprobe_saved_regs = *regs; in setjmp_pre_handler()
1037 kcb->jprobe_saved_sp = stack_addr(regs); in setjmp_pre_handler()
1038 addr = (unsigned long)(kcb->jprobe_saved_sp); in setjmp_pre_handler()
1047 memcpy(kcb->jprobes_stack, (kprobe_opcode_t *)addr, in setjmp_pre_handler()
1067 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in jprobe_return() local
1079 (kcb->jprobe_saved_sp):"memory"); in jprobe_return()
1086 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in longjmp_break_handler() local
1089 void *saved_sp = kcb->jprobe_saved_sp; in longjmp_break_handler()
1094 struct pt_regs *saved_regs = &kcb->jprobe_saved_regs; in longjmp_break_handler()
1106 *regs = kcb->jprobe_saved_regs; in longjmp_break_handler()
1107 memcpy(saved_sp, kcb->jprobes_stack, MIN_STACK_SIZE(saved_sp)); in longjmp_break_handler()