summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_alq.c
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2003-05-25 08:48:42 +0000
committerjeff <jeff@FreeBSD.org>2003-05-25 08:48:42 +0000
commita4b79b551bdacdbec0e42b72d220765c0c857449 (patch)
treef8401569dca4316df836c0d0c0d92951732044fa /sys/kern/kern_alq.c
parent7f947a0032071b2639d959b21b13b71a532376d9 (diff)
downloadFreeBSD-src-a4b79b551bdacdbec0e42b72d220765c0c857449.zip
FreeBSD-src-a4b79b551bdacdbec0e42b72d220765c0c857449.tar.gz
- Reset the free ent to NULL if we have consumed the last free entry. This
fixes a problem where we would overwrite old data if we ran out of free entries. Submitted by: sam Approved by: re (scottl)
Diffstat (limited to 'sys/kern/kern_alq.c')
-rw-r--r--sys/kern/kern_alq.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/kern_alq.c b/sys/kern/kern_alq.c
index 7ddacc8..77b2ac4 100644
--- a/sys/kern/kern_alq.c
+++ b/sys/kern/kern_alq.c
@@ -428,6 +428,8 @@ alq_get(struct alq *alq, int waitok)
aln = ale->ae_next;
if ((aln->ae_flags & AE_VALID) == 0)
alq->aq_entfree = aln;
+ else
+ alq->aq_entfree = NULL;
} else
ALQ_UNLOCK(alq);
OpenPOWER on IntegriCloud