diff options
author | itojun <itojun@FreeBSD.org> | 2000-08-16 09:56:45 +0000 |
---|---|---|
committer | itojun <itojun@FreeBSD.org> | 2000-08-16 09:56:45 +0000 |
commit | fd45895cebe5b6c25dc13992350f3bf2a65d752a (patch) | |
tree | b86a6cd70bcb3a22066e01a02ed303b82192df7e /sys/netinet6 | |
parent | 006afab40ee3e3258d506cfb8ac8a3c2f93bff89 (diff) | |
download | FreeBSD-src-fd45895cebe5b6c25dc13992350f3bf2a65d752a.zip FreeBSD-src-fd45895cebe5b6c25dc13992350f3bf2a65d752a.tar.gz |
add missing splx(), when outgoing interface queue is full on tunnelled
IPsec packet output. KAME PR 280.
Diffstat (limited to 'sys/netinet6')
-rw-r--r-- | sys/netinet6/ah_input.c | 2 | ||||
-rw-r--r-- | sys/netinet6/esp_input.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/netinet6/ah_input.c b/sys/netinet6/ah_input.c index 1f59bf9..c50f72b 100644 --- a/sys/netinet6/ah_input.c +++ b/sys/netinet6/ah_input.c @@ -475,6 +475,7 @@ ah4_input(m, va_alist) s = splimp(); if (IF_QFULL(&ipintrq)) { ipsecstat.in_inval++; + splx(s); goto fail; } IF_ENQUEUE(&ipintrq, m); @@ -879,6 +880,7 @@ ah6_input(mp, offp, proto) s = splimp(); if (IF_QFULL(&ip6intrq)) { ipsec6stat.in_inval++; + splx(s); goto fail; } IF_ENQUEUE(&ip6intrq, m); diff --git a/sys/netinet6/esp_input.c b/sys/netinet6/esp_input.c index 48de49c..0916276 100644 --- a/sys/netinet6/esp_input.c +++ b/sys/netinet6/esp_input.c @@ -392,6 +392,7 @@ noreplaycheck: s = splimp(); if (IF_QFULL(&ipintrq)) { ipsecstat.in_inval++; + splx(s); goto bad; } IF_ENQUEUE(&ipintrq, m); @@ -735,6 +736,7 @@ noreplaycheck: s = splimp(); if (IF_QFULL(&ip6intrq)) { ipsec6stat.in_inval++; + splx(s); goto bad; } IF_ENQUEUE(&ip6intrq, m); |