svn commit: r368238 - head/sys/net

Kristof Provost kp at FreeBSD.org
Tue Dec 1 16:34:44 UTC 2020


Author: kp
Date: Tue Dec  1 16:34:43 2020
New Revision: 368238
URL: https://svnweb.freebsd.org/changeset/base/368238

Log:
  net: Revert vnet/epair cleanup race mitigation
  
  Revert the mitigation code for the vnet/epair cleanup race (done in r365457).
  r368237 introduced a more reliable fix.
  
  MFC after:	2 weeks
  Sponsored by:	Modirum MDPay

Modified:
  head/sys/net/if.c
  head/sys/net/if_epair.c

Modified: head/sys/net/if.c
==============================================================================
--- head/sys/net/if.c	Tue Dec  1 16:23:59 2020	(r368237)
+++ head/sys/net/if.c	Tue Dec  1 16:34:43 2020	(r368238)
@@ -1338,11 +1338,6 @@ if_vmove(struct ifnet *ifp, struct vnet *new_vnet)
 	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.

Modified: head/sys/net/if_epair.c
==============================================================================
--- head/sys/net/if_epair.c	Tue Dec  1 16:23:59 2020	(r368237)
+++ head/sys/net/if_epair.c	Tue Dec  1 16:34:43 2020	(r368238)
@@ -611,14 +611,8 @@ epair_qflush(struct ifnet *ifp)
 	struct epair_softc *sc;
 
 	sc = ifp->if_softc;
-
-	/*
-	 * See epair_clone_destroy(), we can end up getting called twice.
-	 * Don't do anything on the second call.
-	 */
-	if (sc == NULL)
-		return;
-
+	KASSERT(sc != NULL, ("%s: ifp=%p, epair_softc gone? sc=%p\n",
+	    __func__, ifp, sc));
 	/*
 	 * Remove this ifp from all backpointer lists. The interface will not
 	 * usable for flushing anyway nor should it have anything to flush


More information about the svn-src-head mailing list