diff options
| author | yamaguchi <yamaguchi@NetBSD.org> | 2018-04-17 04:22:58 +0000 |
|---|---|---|
| committer | yamaguchi <yamaguchi@NetBSD.org> | 2018-04-17 04:22:58 +0000 |
| commit | b07dbdb089bef3bb0f2299d676c5fd9c493e37ba (patch) | |
| tree | 38250e0dcabf03660a52f3b89fc8b93c79a2ea57 /sys | |
| parent | 08141bb6d9292d2e2e5aa1146c81ae02a51b002f (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.c | 7 |
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 |
