Page MenuHomeFreeBSD

D26324.diff
No OneTemporary

D26324.diff

Index: head/sys/net/if.c
===================================================================
--- head/sys/net/if.c
+++ head/sys/net/if.c
@@ -1298,6 +1298,11 @@
ifindex_free_locked(ifp->if_index);
IFNET_WUNLOCK();
+
+ /* Don't re-attach DYING interfaces. */
+ if (ifp->if_flags & IFF_DYING)
+ return (0);
+
/*
* Perform interface-specific reassignment tasks, if provided by
* the driver.
Index: head/sys/net/if_epair.c
===================================================================
--- head/sys/net/if_epair.c
+++ head/sys/net/if_epair.c
@@ -611,8 +611,14 @@
struct epair_softc *sc;
sc = ifp->if_softc;
- KASSERT(sc != NULL, ("%s: ifp=%p, epair_softc gone? sc=%p\n",
- __func__, ifp, sc));
+
+ /*
+ * See epair_clone_destroy(), we can end up getting called twice.
+ * Don't do anything on the second call.
+ */
+ if (sc == NULL)
+ return;
+
/*
* Remove this ifp from all backpointer lists. The interface will not
* usable for flushing anyway nor should it have anything to flush

File Metadata

Mime Type
text/plain
Expires
Sun, Jan 19, 11:10 PM (20 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15965215
Default Alt Text
D26324.diff (1020 B)

Event Timeline