} else { unlock_kprobes(); 
int __kprobes post_kprobe_handler(struct pt_regs *regs){	struct kprobe *cur = kprobe_running();	struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();	if (!cur)		return 0;	if ((kcb->kprobe_status != KPROBE_REENTER) && cur->post_handler) {		kcb->kprobe_status = KPROBE_HIT_SSDONE;		cur->post_handler(cur, regs, 0);	}	resume_execution(cur, regs, kcb);	regs->eflags |= kcb->kprobe_saved_rflags;	/* Restore the original saved kprobes variables and continue. */	if (kcb->kprobe_status == KPROBE_REENTER) {		restore_previous_kprobe(kcb);		goto out;	} else {		unlock_kprobes();	}	reset_current_kprobe();out:	preempt_enable_no_resched();	/*	 * if somebody else is singlestepping across a probe point, eflags	 * will have TF set, in which case, continue the remaining processing	 * of do_debug, as if this is not a probe hit.	 */	if (regs->eflags & TF_MASK)		return 0;	return 1;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/991a51d83a3d9bebfafdd1e692cf310899d60791/kprobes.c/clean/arch/x86_64/kernel/kprobes.c