Lines Matching refs:rp

1080 	struct kretprobe *rp = ri->rp;  in recycle_rp_inst()  local
1085 if (likely(rp)) { in recycle_rp_inst()
1086 raw_spin_lock(&rp->lock); in recycle_rp_inst()
1087 hlist_add_head(&ri->hlist, &rp->free_instances); in recycle_rp_inst()
1088 raw_spin_unlock(&rp->lock); in recycle_rp_inst()
1171 static inline void free_rp_inst(struct kretprobe *rp) in free_rp_inst() argument
1176 hlist_for_each_entry_safe(ri, next, &rp->free_instances, hlist) { in free_rp_inst()
1182 static void cleanup_rp_inst(struct kretprobe *rp) in cleanup_rp_inst() argument
1194 if (ri->rp == rp) in cleanup_rp_inst()
1195 ri->rp = NULL; in cleanup_rp_inst()
1199 free_rp_inst(rp); in cleanup_rp_inst()
1788 struct kretprobe *rp = container_of(p, struct kretprobe, kp); in pre_handler_kretprobe() local
1799 rp->nmissed++; in pre_handler_kretprobe()
1805 raw_spin_lock_irqsave(&rp->lock, flags); in pre_handler_kretprobe()
1806 if (!hlist_empty(&rp->free_instances)) { in pre_handler_kretprobe()
1807 ri = hlist_entry(rp->free_instances.first, in pre_handler_kretprobe()
1810 raw_spin_unlock_irqrestore(&rp->lock, flags); in pre_handler_kretprobe()
1812 ri->rp = rp; in pre_handler_kretprobe()
1815 if (rp->entry_handler && rp->entry_handler(ri, regs)) { in pre_handler_kretprobe()
1816 raw_spin_lock_irqsave(&rp->lock, flags); in pre_handler_kretprobe()
1817 hlist_add_head(&ri->hlist, &rp->free_instances); in pre_handler_kretprobe()
1818 raw_spin_unlock_irqrestore(&rp->lock, flags); in pre_handler_kretprobe()
1830 rp->nmissed++; in pre_handler_kretprobe()
1831 raw_spin_unlock_irqrestore(&rp->lock, flags); in pre_handler_kretprobe()
1837 int register_kretprobe(struct kretprobe *rp) in register_kretprobe() argument
1845 addr = kprobe_addr(&rp->kp); in register_kretprobe()
1855 rp->kp.pre_handler = pre_handler_kretprobe; in register_kretprobe()
1856 rp->kp.post_handler = NULL; in register_kretprobe()
1857 rp->kp.fault_handler = NULL; in register_kretprobe()
1858 rp->kp.break_handler = NULL; in register_kretprobe()
1861 if (rp->maxactive <= 0) { in register_kretprobe()
1863 rp->maxactive = max_t(unsigned int, 10, 2*num_possible_cpus()); in register_kretprobe()
1865 rp->maxactive = num_possible_cpus(); in register_kretprobe()
1868 raw_spin_lock_init(&rp->lock); in register_kretprobe()
1869 INIT_HLIST_HEAD(&rp->free_instances); in register_kretprobe()
1870 for (i = 0; i < rp->maxactive; i++) { in register_kretprobe()
1872 rp->data_size, GFP_KERNEL); in register_kretprobe()
1874 free_rp_inst(rp); in register_kretprobe()
1878 hlist_add_head(&inst->hlist, &rp->free_instances); in register_kretprobe()
1881 rp->nmissed = 0; in register_kretprobe()
1883 ret = register_kprobe(&rp->kp); in register_kretprobe()
1885 free_rp_inst(rp); in register_kretprobe()
1908 void unregister_kretprobe(struct kretprobe *rp) in unregister_kretprobe() argument
1910 unregister_kretprobes(&rp, 1); in unregister_kretprobe()
1937 int register_kretprobe(struct kretprobe *rp) in register_kretprobe() argument
1949 void unregister_kretprobe(struct kretprobe *rp) in unregister_kretprobe() argument