Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Oct 2019 11:20:16 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r353549 - head/sys/net
Message-ID:  <201910151120.x9FBKGof094394@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Tue Oct 15 11:20:16 2019
New Revision: 353549
URL: https://svnweb.freebsd.org/changeset/base/353549

Log:
  Exclude the network link eventhandler from epochification after r353292.
  
  This fixes the following assert when "options RATELIMIT" is used:
  panic()
  malloc()
  sysctl_add_oid()
  tcp_rl_ifnet_link()
  do_link_state_change()
  taskqueue_run_locked()
  
  Sponsored by:	Mellanox Technologies

Modified:
  head/sys/net/if.c

Modified: head/sys/net/if.c
==============================================================================
--- head/sys/net/if.c	Tue Oct 15 11:14:14 2019	(r353548)
+++ head/sys/net/if.c	Tue Oct 15 11:20:16 2019	(r353549)
@@ -2353,9 +2353,9 @@ do_link_state_change(void *arg, int pending)
 	if (log_link_state_change)
 		if_printf(ifp, "link state changed to %s\n",
 		    (link_state == LINK_STATE_UP) ? "UP" : "DOWN" );
+	NET_EPOCH_EXIT(et);
 	EVENTHANDLER_INVOKE(ifnet_link_event, ifp, link_state);
 	CURVNET_RESTORE();
-	NET_EPOCH_EXIT(et);
 }
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201910151120.x9FBKGof094394>