Lines Matching refs:kcb
173 static nokprobe_inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) in save_previous_kprobe() argument
175 kcb->prev_kprobe.kp = kprobe_running(); in save_previous_kprobe()
176 kcb->prev_kprobe.status = kcb->kprobe_status; in save_previous_kprobe()
177 kcb->prev_kprobe.saved_msr = kcb->kprobe_saved_msr; in save_previous_kprobe()
180 static nokprobe_inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb) in restore_previous_kprobe() argument
182 __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); in restore_previous_kprobe()
183 kcb->kprobe_status = kcb->prev_kprobe.status; in restore_previous_kprobe()
184 kcb->kprobe_saved_msr = kcb->prev_kprobe.saved_msr; in restore_previous_kprobe()
188 struct kprobe_ctlblk *kcb) in set_current_kprobe() argument
191 kcb->kprobe_saved_msr = regs->msr; in set_current_kprobe()
262 struct kprobe_ctlblk *kcb; in kprobe_handler() local
272 kcb = get_kprobe_ctlblk(); in kprobe_handler()
279 if (kcb->kprobe_status == KPROBE_HIT_SS && in kprobe_handler()
283 regs->msr |= kcb->kprobe_saved_msr; in kprobe_handler()
292 save_previous_kprobe(kcb); in kprobe_handler()
293 set_current_kprobe(p, regs, kcb); in kprobe_handler()
295 kcb->kprobe_status = KPROBE_REENTER; in kprobe_handler()
300 restore_previous_kprobe(kcb); in kprobe_handler()
346 kcb->kprobe_status = KPROBE_HIT_ACTIVE; in kprobe_handler()
347 set_current_kprobe(p, regs, kcb); in kprobe_handler()
362 kcb->kprobe_status = KPROBE_HIT_SSDONE; in kprobe_handler()
369 kcb->kprobe_status = KPROBE_HIT_SS; in kprobe_handler()
480 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in kprobe_post_handler() local
489 if ((kcb->kprobe_status != KPROBE_REENTER) && cur->post_handler) { in kprobe_post_handler()
490 kcb->kprobe_status = KPROBE_HIT_SSDONE; in kprobe_post_handler()
496 regs->msr |= kcb->kprobe_saved_msr; in kprobe_post_handler()
499 if (kcb->kprobe_status == KPROBE_REENTER) { in kprobe_post_handler()
500 restore_previous_kprobe(kcb); in kprobe_post_handler()
522 struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); in kprobe_fault_handler() local
525 switch(kcb->kprobe_status) { in kprobe_fault_handler()
537 regs->msr |= kcb->kprobe_saved_msr; in kprobe_fault_handler()
538 if (kcb->kprobe_status == KPROBE_REENTER) in kprobe_fault_handler()
539 restore_previous_kprobe(kcb); in kprobe_fault_handler()