Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Sep 2020 19:11:21 +0000 (UTC)
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r366170 - stable/11/sys/netgraph
Message-ID:  <202009251911.08PJBLkf033575@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markj
Date: Fri Sep 25 19:11:21 2020
New Revision: 366170
URL: https://svnweb.freebsd.org/changeset/base/366170

Log:
  MFC r353027 (by glebius):
  Protect access to seq->xwin[] with the seq mutex.

Modified:
  stable/11/sys/netgraph/ng_l2tp.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/netgraph/ng_l2tp.c
==============================================================================
--- stable/11/sys/netgraph/ng_l2tp.c	Fri Sep 25 19:04:03 2020	(r366169)
+++ stable/11/sys/netgraph/ng_l2tp.c	Fri Sep 25 19:11:21 2020	(r366170)
@@ -1462,6 +1462,7 @@ ng_l2tp_seq_rack_timeout(node_p node, hook_p hook, voi
 	/* Sanity check */
 	L2TP_SEQ_CHECK(seq);
 
+	mtx_lock(&seq->mtx);
 	priv->stats.xmitRetransmits++;
 
 	/* Have we reached the retransmit limit? If so, notify owner. */
@@ -1482,7 +1483,9 @@ ng_l2tp_seq_rack_timeout(node_p node, hook_p hook, voi
 	seq->acks = 0;
 
 	/* Retransmit oldest unack'd packet */
-	if ((m = L2TP_COPY_MBUF(seq->xwin[0], M_NOWAIT)) == NULL)
+	m = L2TP_COPY_MBUF(seq->xwin[0], M_NOWAIT);
+	mtx_unlock(&seq->mtx);
+	if (m == NULL)
 		priv->stats.memoryFailures++;
 	else
 		ng_l2tp_xmit_ctrl(priv, m, seq->ns++);



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