Page MenuHomeFreeBSD

D40147.diff
No OneTemporary

D40147.diff

diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c
--- a/sys/net/if_bridge.c
+++ b/sys/net/if_bridge.c
@@ -2940,12 +2940,12 @@
memcpy(brt->brt_addr, dst, ETHER_ADDR_LEN);
brt->brt_vlan = vlan;
+ brt->brt_dst = bif;
if ((error = bridge_rtnode_insert(sc, brt)) != 0) {
uma_zfree(V_bridge_rtnode_zone, brt);
BRIDGE_RT_UNLOCK(sc);
return (error);
}
- brt->brt_dst = bif;
bif->bif_addrcnt++;
BRIDGE_RT_UNLOCK(sc);
@@ -2953,6 +2953,8 @@
if ((brt->brt_flags & IFBAF_TYPEMASK) == IFBAF_DYNAMIC &&
(obif = brt->brt_dst) != bif) {
+ MPASS(obif != NULL);
+
BRIDGE_RT_LOCK(sc);
brt->brt_dst->bif_addrcnt--;
brt->brt_dst = bif;

File Metadata

Mime Type
text/plain
Expires
Thu, Nov 7, 2:28 PM (21 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14514365
Default Alt Text
D40147.diff (676 B)

Event Timeline