Page MenuHomeFreeBSD

D30741.diff
No OneTemporary

D30741.diff

diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c
--- a/sys/net/if_vlan.c
+++ b/sys/net/if_vlan.c
@@ -609,6 +609,7 @@
mc = malloc(sizeof(struct vlan_mc_entry), M_VLAN, M_NOWAIT);
if (mc == NULL) {
IF_ADDR_WUNLOCK(ifp);
+ CURVNET_RESTORE();
return (ENOMEM);
}
bcopy(ifma->ifma_addr, &mc->mc_addr, ifma->ifma_addr->sa_len);
@@ -619,8 +620,10 @@
CK_SLIST_FOREACH (mc, &sc->vlan_mc_listhead, mc_entries) {
error = if_addmulti(ifp_p, (struct sockaddr *)&mc->mc_addr,
NULL);
- if (error)
+ if (error) {
+ CURVNET_RESTORE();
return (error);
+ }
}
CURVNET_RESTORE();

File Metadata

Mime Type
text/plain
Expires
Sun, Feb 9, 11:10 AM (12 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16551992
Default Alt Text
D30741.diff (610 B)

Event Timeline