summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2005-01-02 01:47:56 +0000
committerrwatson <rwatson@FreeBSD.org>2005-01-02 01:47:56 +0000
commit6bfe519bf0d785388af7342b991f57aba1332cca (patch)
treeec274f812a1e5634476f4c7c8471dd44c601b760
parent0eefe3ee3fc5743f1eb6b0390ffaec5cfdf40f15 (diff)
downloadFreeBSD-src-6bfe519bf0d785388af7342b991f57aba1332cca.zip
FreeBSD-src-6bfe519bf0d785388af7342b991f57aba1332cca.tar.gz
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
-rw-r--r--sys/netipx/ipx_outputfl.c2
-rw-r--r--sys/netipx/ipx_pcb.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/netipx/ipx_outputfl.c b/sys/netipx/ipx_outputfl.c
index c2585dc..630f792 100644
--- a/sys/netipx/ipx_outputfl.c
+++ b/sys/netipx/ipx_outputfl.c
@@ -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);
}
diff --git a/sys/netipx/ipx_pcb.c b/sys/netipx/ipx_pcb.c
index 663cfeb..dbbfa21 100644
--- a/sys/netipx/ipx_pcb.c
+++ b/sys/netipx/ipx_pcb.c
@@ -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);
}
OpenPOWER on IntegriCloud