Protect access to seq->xwin[] with the seq mutex.

MFC after:	5 weeks
This commit is contained in:
Gleb Smirnoff 2019-10-03 02:34:51 +00:00
parent 631cabba47
commit 30b7addf5a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=353027

View File

@ -1462,6 +1462,7 @@ ng_l2tp_seq_rack_timeout(node_p node, hook_p hook, void *arg1, int arg2)
/* 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, void *arg1, int arg2)
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++);