Lines Matching refs:kcb
224 static nokprobe_inline void save_previous_kprobe(struct kprobe_ctlblk *kcb)
226 kcb->prev_kprobe.kp = kprobe_running();
227 kcb->prev_kprobe.status = kcb->kprobe_status;
228 kcb->prev_kprobe.saved_msr = kcb->kprobe_saved_msr;
231 static nokprobe_inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb)
233 __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp);
234 kcb->kprobe_status = kcb->prev_kprobe.status;
235 kcb->kprobe_saved_msr = kcb->prev_kprobe.saved_msr;
239 struct kprobe_ctlblk *kcb)
242 kcb->kprobe_saved_msr = regs->msr;
301 struct kprobe_ctlblk *kcb;
315 kcb = get_kprobe_ctlblk();
348 if (kcb->kprobe_status == KPROBE_HIT_SS && is_trap(insn)) {
352 kcb->kprobe_saved_msr);
362 save_previous_kprobe(kcb);
363 set_current_kprobe(p, regs, kcb);
365 kcb->kprobe_status = KPROBE_REENTER;
370 restore_previous_kprobe(kcb);
379 kcb->kprobe_status = KPROBE_HIT_ACTIVE;
380 set_current_kprobe(p, regs, kcb);
395 kcb->kprobe_status = KPROBE_HIT_SSDONE;
402 kcb->kprobe_status = KPROBE_HIT_SS;
466 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();
476 if ((kcb->kprobe_status != KPROBE_REENTER) && cur->post_handler) {
477 kcb->kprobe_status = KPROBE_HIT_SSDONE;
483 regs_set_return_msr(regs, regs->msr | kcb->kprobe_saved_msr);
486 if (kcb->kprobe_status == KPROBE_REENTER) {
487 restore_previous_kprobe(kcb);
509 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();
512 switch(kcb->kprobe_status) {
526 kcb->kprobe_saved_msr);
527 if (kcb->kprobe_status == KPROBE_REENTER)
528 restore_previous_kprobe(kcb);