return 0; 
 BUG_ON(!orig_ret_address || (orig_ret_address == trampoline_address)); regs->eip = orig_ret_address;  unlock_kprobes(); preempt_enable_no_resched();  /* * By returning a non-zero value, we are telling * kprobe_handler() that we have handled unlocking * and re-enabling preemption. */ return 1; 
int trampoline_probe_handler(struct kprobe *p, struct pt_regs *regs){	struct task_struct *tsk;	struct kretprobe_instance *ri;	struct hlist_head *head;	struct hlist_node *node;	unsigned long *sara = ((unsigned long *) &regs->esp) - 1;	tsk = arch_get_kprobe_task(sara);	head = kretprobe_inst_table_head(tsk);	hlist_for_each_entry(ri, node, head, hlist) {		if (ri->stack_addr == sara && ri->rp) {			if (ri->rp->handler)				ri->rp->handler(ri, regs);		}	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/4bdbd37f6d01abc4c002bb8de90ea2c3bc7abe7e/kprobes.c/clean/arch/i386/kernel/kprobes.c