Lines Matching refs:kcb

142 	struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();  in swap_instruction()  local
143 unsigned long status = kcb->kprobe_status; in swap_instruction()
146 kcb->kprobe_status = KPROBE_SWAP_INST; in swap_instruction()
148 kcb->kprobe_status = status; in swap_instruction()
174 static void __kprobes enable_singlestep(struct kprobe_ctlblk *kcb, in enable_singlestep() argument
186 __ctl_store(kcb->kprobe_saved_ctl, 9, 11); in enable_singlestep()
187 kcb->kprobe_saved_imask = regs->psw.mask & in enable_singlestep()
197 static void __kprobes disable_singlestep(struct kprobe_ctlblk *kcb, in disable_singlestep() argument
202 __ctl_load(kcb->kprobe_saved_ctl, 9, 11); in disable_singlestep()
204 regs->psw.mask |= kcb->kprobe_saved_imask; in disable_singlestep()
213 static void __kprobes push_kprobe(struct kprobe_ctlblk *kcb, struct kprobe *p) in push_kprobe() argument
215 kcb->prev_kprobe.kp = __get_cpu_var(current_kprobe); in push_kprobe()
216 kcb->prev_kprobe.status = kcb->kprobe_status; in push_kprobe()
225 static void __kprobes pop_kprobe(struct kprobe_ctlblk *kcb) in pop_kprobe() argument
227 __get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; in pop_kprobe()
228 kcb->kprobe_status = kcb->prev_kprobe.status; in pop_kprobe()
240 static void __kprobes kprobe_reenter_check(struct kprobe_ctlblk *kcb, in kprobe_reenter_check() argument
243 switch (kcb->kprobe_status) { in kprobe_reenter_check()
264 struct kprobe_ctlblk *kcb; in kprobe_handler() local
273 kcb = get_kprobe_ctlblk(); in kprobe_handler()
287 kprobe_reenter_check(kcb, p); in kprobe_handler()
288 push_kprobe(kcb, p); in kprobe_handler()
289 kcb->kprobe_status = KPROBE_REENTER; in kprobe_handler()
299 push_kprobe(kcb, p); in kprobe_handler()
300 kcb->kprobe_status = KPROBE_HIT_ACTIVE; in kprobe_handler()
303 kcb->kprobe_status = KPROBE_HIT_SS; in kprobe_handler()
305 enable_singlestep(kcb, regs, (unsigned long) p->ainsn.insn); in kprobe_handler()
317 kcb->kprobe_status = KPROBE_HIT_SS; in kprobe_handler()
318 enable_singlestep(kcb, regs, in kprobe_handler()
452 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in resume_execution() local
471 disable_singlestep(kcb, regs, ip); in resume_execution()
476 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in post_kprobe_handler() local
482 if (kcb->kprobe_status != KPROBE_REENTER && p->post_handler) { in post_kprobe_handler()
483 kcb->kprobe_status = KPROBE_HIT_SSDONE; in post_kprobe_handler()
488 pop_kprobe(kcb); in post_kprobe_handler()
504 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in kprobe_trap_handler() local
508 switch(kcb->kprobe_status) { in kprobe_trap_handler()
521 disable_singlestep(kcb, regs, (unsigned long) p->addr); in kprobe_trap_handler()
522 pop_kprobe(kcb); in kprobe_trap_handler()
617 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in setjmp_pre_handler() local
620 memcpy(&kcb->jprobe_saved_regs, regs, sizeof(struct pt_regs)); in setjmp_pre_handler()
629 memcpy(kcb->jprobes_stack, (void *) stack, MIN_STACK_SIZE(stack)); in setjmp_pre_handler()
645 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in longjmp_break_handler() local
648 stack = (unsigned long) kcb->jprobe_saved_regs.gprs[15]; in longjmp_break_handler()
651 memcpy(regs, &kcb->jprobe_saved_regs, sizeof(struct pt_regs)); in longjmp_break_handler()
653 memcpy((void *) stack, kcb->jprobes_stack, MIN_STACK_SIZE(stack)); in longjmp_break_handler()