Lines Matching refs:old_p
423 static inline void copy_kprobe(struct kprobe *old_p, struct kprobe *p)
425 memcpy(&p->opcode, &old_p->opcode, sizeof(kprobe_opcode_t));
426 memcpy(&p->ainsn, &old_p->ainsn, sizeof(struct arch_specific_insn));
430 * Add the new probe to old_p->list. Fail if this is the
433 static int __kprobes add_new_kprobe(struct kprobe *old_p, struct kprobe *p)
436 if (old_p->break_handler)
438 list_add_tail_rcu(&p->list, &old_p->list);
439 old_p->break_handler = aggr_break_handler;
441 list_add_rcu(&p->list, &old_p->list);
442 if (p->post_handler && !old_p->post_handler)
443 old_p->post_handler = aggr_post_handler;
473 static int __kprobes register_aggr_kprobe(struct kprobe *old_p,
479 if (old_p->pre_handler == aggr_pre_handler) {
480 copy_kprobe(old_p, p);
481 ret = add_new_kprobe(old_p, p);
486 add_aggr_kprobe(ap, old_p);
505 struct kprobe *old_p;
550 old_p = get_kprobe(p->addr);
551 if (old_p) {
552 ret = register_aggr_kprobe(old_p, p);
589 struct kprobe *old_p, *list_p;
593 old_p = get_kprobe(p->addr);
594 if (unlikely(!old_p)) {
598 if (p != old_p) {
599 list_for_each_entry_rcu(list_p, &old_p->list, list)
607 if (old_p == p ||
608 (old_p->pre_handler == aggr_pre_handler &&
609 p->list.next == &old_p->list && p->list.prev == &old_p->list)) {
617 hlist_del_rcu(&old_p->hlist);
634 if (p != old_p) {
636 kfree(old_p);
642 old_p->break_handler = NULL;
644 list_for_each_entry_rcu(list_p, &old_p->list, list){
651 old_p->post_handler = NULL;