Lines Matching refs:kcb

200 static nokprobe_inline void save_previous_kprobe(struct kprobe_ctlblk *kcb)  in save_previous_kprobe()  argument
202 kcb->prev_kprobe.kp = kprobe_running(); in save_previous_kprobe()
203 kcb->prev_kprobe.status = kcb->kprobe_status; in save_previous_kprobe()
204 kcb->prev_kprobe.saved_msr = kcb->kprobe_saved_msr; in save_previous_kprobe()
207 static nokprobe_inline void 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()
211 kcb->kprobe_saved_msr = kcb->prev_kprobe.saved_msr; in restore_previous_kprobe()
215 struct kprobe_ctlblk *kcb) in set_current_kprobe() argument
218 kcb->kprobe_saved_msr = regs->msr; in set_current_kprobe()
290 struct kprobe_ctlblk *kcb; in kprobe_handler() local
304 kcb = get_kprobe_ctlblk(); in kprobe_handler()
337 if (kcb->kprobe_status == KPROBE_HIT_SS && is_trap(insn)) { in kprobe_handler()
341 kcb->kprobe_saved_msr); in kprobe_handler()
351 save_previous_kprobe(kcb); in kprobe_handler()
352 set_current_kprobe(p, regs, kcb); in kprobe_handler()
354 kcb->kprobe_status = KPROBE_REENTER; in kprobe_handler()
359 restore_previous_kprobe(kcb); in kprobe_handler()
368 kcb->kprobe_status = KPROBE_HIT_ACTIVE; in kprobe_handler()
369 set_current_kprobe(p, regs, kcb); in kprobe_handler()
384 kcb->kprobe_status = KPROBE_HIT_SSDONE; in kprobe_handler()
391 kcb->kprobe_status = KPROBE_HIT_SS; in kprobe_handler()
455 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in kprobe_post_handler() local
465 if ((kcb->kprobe_status != KPROBE_REENTER) && cur->post_handler) { in kprobe_post_handler()
466 kcb->kprobe_status = KPROBE_HIT_SSDONE; in kprobe_post_handler()
472 regs_set_return_msr(regs, regs->msr | kcb->kprobe_saved_msr); in kprobe_post_handler()
475 if (kcb->kprobe_status == KPROBE_REENTER) { in kprobe_post_handler()
476 restore_previous_kprobe(kcb); in kprobe_post_handler()
498 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in kprobe_fault_handler() local
501 switch(kcb->kprobe_status) { in kprobe_fault_handler()
515 kcb->kprobe_saved_msr); in kprobe_fault_handler()
516 if (kcb->kprobe_status == KPROBE_REENTER) in kprobe_fault_handler()
517 restore_previous_kprobe(kcb); in kprobe_fault_handler()