Use RTFREE() to free route references rather than rtfree(), as rtfree()
expects a locked route reference. This removes a panic that occurs when connected ipxpcb is closed and its route free'd, and may have been present since the route locking took place. MFC after: 2 weeks
This commit is contained in:
parent
c2b8a29d33
commit
6c56a18747
@ -96,7 +96,7 @@ ipx_outputfl(m0, ro, flags)
|
||||
/*
|
||||
* The old route has gone away; try for a new one.
|
||||
*/
|
||||
rtfree(ro->ro_rt);
|
||||
RTFREE(ro->ro_rt);
|
||||
ro->ro_rt = NULL;
|
||||
rtalloc_ign(ro, 0);
|
||||
}
|
||||
|
@ -275,7 +275,7 @@ ipx_pcbdetach(ipxp)
|
||||
so->so_pcb = 0;
|
||||
sotryfree(so);
|
||||
if (ipxp->ipxp_route.ro_rt != NULL)
|
||||
rtfree(ipxp->ipxp_route.ro_rt);
|
||||
RTFREE(ipxp->ipxp_route.ro_rt);
|
||||
LIST_REMOVE(ipxp, ipxp_list);
|
||||
FREE(ipxp, M_PCB);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user