summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/ng_pptpgre.c
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>2000-01-04 22:06:08 +0000
committerarchie <archie@FreeBSD.org>2000-01-04 22:06:08 +0000
commit4f702e355c9a539bf4c04e5f1f2a333c2bc4fe25 (patch)
tree7965b00d37a02cd8444aacb761f3a5a20d1d76b2 /sys/netgraph/ng_pptpgre.c
parent8768919ebd5aa0ae0960cf2435dc361f00013753 (diff)
downloadFreeBSD-src-4f702e355c9a539bf4c04e5f1f2a333c2bc4fe25.zip
FreeBSD-src-4f702e355c9a539bf4c04e5f1f2a333c2bc4fe25.tar.gz
Fix race condition caused by missing splnet()'s.
Diffstat (limited to 'sys/netgraph/ng_pptpgre.c')
-rw-r--r--sys/netgraph/ng_pptpgre.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/netgraph/ng_pptpgre.c b/sys/netgraph/ng_pptpgre.c
index dde14bb..3b4c6ae 100644
--- a/sys/netgraph/ng_pptpgre.c
+++ b/sys/netgraph/ng_pptpgre.c
@@ -658,6 +658,7 @@ ng_pptpgre_start_recv_ack_timer(node_p node)
static void
ng_pptpgre_recv_ack_timeout(void *arg)
{
+ int s = splnet();
const node_p node = arg;
const priv_p priv = node->private;
struct ng_pptpgre_ackp *const a = &priv->ackp;
@@ -676,6 +677,7 @@ ng_pptpgre_recv_ack_timeout(void *arg)
/* Restart timer if there are any more outstanding frames */
if (priv->recvAck != priv->xmitSeq)
ng_pptpgre_start_recv_ack_timer(node);
+ splx(s);
}
/*
@@ -687,6 +689,7 @@ ng_pptpgre_recv_ack_timeout(void *arg)
static void
ng_pptpgre_send_ack_timeout(void *arg)
{
+ int s = splnet();
const node_p node = arg;
const priv_p priv = node->private;
struct ng_pptpgre_ackp *const a = &priv->ackp;
@@ -694,6 +697,7 @@ ng_pptpgre_send_ack_timeout(void *arg)
/* Send a frame with an ack but no payload */
a->sackTimerRunning = 0;
ng_pptpgre_xmit(node, NULL, NULL);
+ splx(s);
}
/*************************************************************************
OpenPOWER on IntegriCloud