Lines Matching refs:rte
690 rtunref_audit(struct rtentry_dbg *rte)
692 if (rte->rtd_inuse != RTD_INUSE)
693 panic("rtunref: on freed rte=%p\n", rte);
695 rte->rtd_refrele_cnt++;
698 rte->rtd_refrele[rte->rtd_refrele_next].th = current_thread();
699 bzero(rte->rtd_refrele[rte->rtd_refrele_next].pc,
700 sizeof (rte->rtd_refrele[rte->rtd_refrele_next].pc));
701 (void) OSBacktrace(rte->rtd_refrele[rte->rtd_refrele_next].pc,
704 rte->rtd_refrele_next =
705 (rte->rtd_refrele_next + 1) % RTD_REFHIST_SIZE;
727 rtref_audit(struct rtentry_dbg *rte)
729 if (rte->rtd_inuse != RTD_INUSE)
730 panic("rtref_audit: on freed rte=%p\n", rte);
732 rte->rtd_refhold_cnt++;
735 rte->rtd_refhold[rte->rtd_refhold_next].th = current_thread();
736 bzero(rte->rtd_refhold[rte->rtd_refhold_next].pc,
737 sizeof (rte->rtd_refhold[rte->rtd_refhold_next].pc));
738 (void) OSBacktrace(rte->rtd_refhold[rte->rtd_refhold_next].pc,
741 rte->rtd_refhold_next =
742 (rte->rtd_refhold_next + 1) % RTD_REFHIST_SIZE;
2123 panic("rte_free: rte=%p refcnt=%d non-zero\n", p, p->rt_refcnt);
2131 struct rtentry_dbg *rte;
2133 rte = ((struct rtentry_dbg *)zalloc(rte_zone));
2134 if (rte != NULL) {
2135 bzero(rte, sizeof (*rte));
2137 rte->rtd_alloc_thread = current_thread();
2138 (void) OSBacktrace(rte->rtd_alloc_stk_pc,
2141 rte->rtd_inuse = RTD_INUSE;
2143 return ((struct rtentry *)rte);
2149 struct rtentry_dbg *rte = (struct rtentry_dbg *)p;
2152 panic("rte_free: rte=%p refcnt=%d\n", p, p->rt_refcnt);
2154 if (rte->rtd_inuse == RTD_FREED)
2155 panic("rte_free: double free rte=%p\n", rte);
2156 else if (rte->rtd_inuse != RTD_INUSE)
2157 panic("rte_free: corrupted rte=%p\n", rte);
2159 bcopy((caddr_t)p, (caddr_t)&rte->rtd_entry_saved, sizeof (*p));
2162 rte->rtd_inuse = RTD_FREED;
2165 rte->rtd_free_thread = current_thread();
2166 (void) OSBacktrace(rte->rtd_free_stk_pc, RTD_TRSTACK_SIZE);