bridge: Fix STP-related panic
After r345180 we need to have the appropriate vnet context set to delete an rtnode in bridge_rtnode_destroy(). That's usually the case, but not when it's called by the STP code (through bstp_notify_rtage()). We have to set the vnet context in bridge_rtable_expire() just as we do in the other STP callback bridge_state_change(). Reviewed by: kevans
This commit is contained in:
parent
fa707ac77f
commit
43d3127ca7
@ -3047,6 +3047,7 @@ bridge_rtable_expire(struct ifnet *ifp, int age)
|
||||
struct bridge_softc *sc = ifp->if_bridge;
|
||||
struct bridge_rtnode *brt;
|
||||
|
||||
CURVNET_SET(ifp->if_vnet);
|
||||
BRIDGE_LOCK(sc);
|
||||
|
||||
/*
|
||||
@ -3065,6 +3066,7 @@ bridge_rtable_expire(struct ifnet *ifp, int age)
|
||||
}
|
||||
}
|
||||
BRIDGE_UNLOCK(sc);
|
||||
CURVNET_RESTORE();
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user