Module Name: src
Committed By: ozaki-r
Date: Wed Aug 2 02:12:42 UTC 2017
Modified Files:
src/sys/netipsec: key.c
Log Message:
Fix updating ipsec_used; turn on when SPs on sockets are added
To generate a diff of this commit:
cvs rdiff -u -r1.198 -r1.199 src/sys/netipsec/key.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/netipsec/key.c
diff -u src/sys/netipsec/key.c:1.198 src/sys/netipsec/key.c:1.199
--- src/sys/netipsec/key.c:1.198 Wed Aug 2 01:59:26 2017
+++ src/sys/netipsec/key.c Wed Aug 2 02:12:42 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: key.c,v 1.198 2017/08/02 01:59:26 ozaki-r Exp $ */
+/* $NetBSD: key.c,v 1.199 2017/08/02 02:12:42 ozaki-r 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.198 2017/08/02 01:59:26 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: key.c,v 1.199 2017/08/02 02:12:42 ozaki-r Exp $");
/*
* This code is referd to RFC 2367
@@ -252,6 +252,9 @@ static struct pslist_head key_socksplist
#define SOCKSPLIST_WRITER_FOREACH(sp) \
PSLIST_WRITER_FOREACH((sp), &key_socksplist, struct secpolicy, \
pslist_entry)
+#define SOCKSPLIST_READER_EMPTY() \
+ (PSLIST_READER_FIRST(&key_socksplist, struct secpolicy, \
+ pslist_entry) == NULL)
/*
* Protect regtree, acqtree and items stored in the lists.
@@ -1387,6 +1390,8 @@ key_socksplist_add(struct secpolicy *sp)
mutex_enter(&key_sp_mtx);
PSLIST_WRITER_INSERT_HEAD(&key_socksplist, sp, pslist_entry);
mutex_exit(&key_sp_mtx);
+
+ key_update_used();
}
/*
@@ -8069,7 +8074,8 @@ key_setspddump(int *errorp, pid_t pid)
int
key_get_used(void) {
return !SPLIST_READER_EMPTY(IPSEC_DIR_INBOUND) ||
- !SPLIST_READER_EMPTY(IPSEC_DIR_OUTBOUND);
+ !SPLIST_READER_EMPTY(IPSEC_DIR_OUTBOUND) ||
+ !SOCKSPLIST_READER_EMPTY();
}
void