Lines Matching refs:kcb
54 static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) in save_previous_kprobe() argument
56 kcb->prev_kprobe.kp = kprobe_running(); in save_previous_kprobe()
57 kcb->prev_kprobe.status = kcb->kprobe_status; in save_previous_kprobe()
60 static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) in restore_previous_kprobe() argument
62 __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); in restore_previous_kprobe()
63 kcb->kprobe_status = kcb->prev_kprobe.status; in restore_previous_kprobe()
72 struct kprobe_ctlblk *kcb, struct pt_regs *regs) in setup_singlestep() argument
74 kcb->iaoq[0] = regs->iaoq[0]; in setup_singlestep()
75 kcb->iaoq[1] = regs->iaoq[1]; in setup_singlestep()
84 struct kprobe_ctlblk *kcb; in parisc_kprobe_break_handler() local
88 kcb = get_kprobe_ctlblk(); in parisc_kprobe_break_handler()
104 save_previous_kprobe(kcb); in parisc_kprobe_break_handler()
107 setup_singlestep(p, kcb, regs); in parisc_kprobe_break_handler()
108 kcb->kprobe_status = KPROBE_REENTER; in parisc_kprobe_break_handler()
113 kcb->kprobe_status = KPROBE_HIT_ACTIVE; in parisc_kprobe_break_handler()
122 setup_singlestep(p, kcb, regs); in parisc_kprobe_break_handler()
123 kcb->kprobe_status = KPROBE_HIT_SS; in parisc_kprobe_break_handler()
133 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in parisc_kprobe_ss_handler() local
143 if (kcb->kprobe_status == KPROBE_REENTER) { in parisc_kprobe_ss_handler()
144 restore_previous_kprobe(kcb); in parisc_kprobe_ss_handler()
165 regs->iaoq[0] = kcb->iaoq[1]; in parisc_kprobe_ss_handler()
168 regs->iaoq[1] = kcb->iaoq[0]; in parisc_kprobe_ss_handler()
170 regs->iaoq[0] = kcb->iaoq[1]; in parisc_kprobe_ss_handler()
173 kcb->kprobe_status = KPROBE_HIT_SSDONE; in parisc_kprobe_ss_handler()