From 0150f3ec9b7c1f917c9322cddde710e131b5da88 Mon Sep 17 00:00:00 2001 From: Jun-ichiro itojun Hagino Date: Wed, 16 Aug 2000 09:56:45 +0000 Subject: [PATCH] add missing splx(), when outgoing interface queue is full on tunnelled IPsec packet output. KAME PR 280. --- sys/netinet6/ah_input.c | 2 ++ sys/netinet6/esp_input.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/sys/netinet6/ah_input.c b/sys/netinet6/ah_input.c index 1f59bf9eaa3..c50f72bdd26 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 48de49c65e5..09162766a04 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);