summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authoryamaguchi <yamaguchi@NetBSD.org>2018-04-17 04:22:58 +0000
committeryamaguchi <yamaguchi@NetBSD.org>2018-04-17 04:22:58 +0000
commitb07dbdb089bef3bb0f2299d676c5fd9c493e37ba (patch)
tree38250e0dcabf03660a52f3b89fc8b93c79a2ea57 /sys
parent08141bb6d9292d2e2e5aa1146c81ae02a51b002f (diff)
Fix panic of SADB when the state of sav is changed in timeout
pointed out by ozaki-r@n.o, thanks
Diffstat (limited to 'sys')
-rw-r--r--sys/netipsec/key.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/netipsec/key.c b/sys/netipsec/key.c
index bc85974e046..4704d1f7111 100644
--- a/sys/netipsec/key.c
+++ b/sys/netipsec/key.c
@@ -1,4 +1,4 @@
-/* $NetBSD: key.c,v 1.252 2018/04/16 08:56:08 yamaguchi Exp $ */
+/* $NetBSD: key.c,v 1.253 2018/04/17 04:22:58 yamaguchi Exp $ */
/* $FreeBSD: src/sys/netipsec/key.c,v 1.3.2.3 2004/02/14 22:23:23 bms Exp $ */
/* $KAME: key.c,v 1.191 2001/06/27 10:46:49 sakane Exp $ */
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: key.c,v 1.252 2018/04/16 08:56:08 yamaguchi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: key.c,v 1.253 2018/04/17 04:22:58 yamaguchi Exp $");
/*
* This code is referred to RFC 2367
@@ -418,6 +418,8 @@ static struct {
PSLIST_READER_NEXT((sav), struct secasvar, pslist_entry)
/* Macros for key_sad.savlut */
+#define SAVLUT_ENTRY_INIT(sav) \
+ PSLIST_ENTRY_INIT((sav), pslist_entry_savlut)
#define SAVLUT_READER_FOREACH(sav, dst, proto, hash_key) \
PSLIST_READER_FOREACH((sav), \
&key_sad.savlut[key_savluthash(dst, proto, hash_key, \
@@ -1432,6 +1434,7 @@ key_init_sav(struct secasvar *sav)
localcount_init(&sav->localcount);
SAVLIST_ENTRY_INIT(sav);
+ SAVLUT_ENTRY_INIT(sav);
}
u_int