aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorVANHULLEBUS Yvan <vanhu@FreeBSD.org>2009-05-27 09:44:14 +0000
committerVANHULLEBUS Yvan <vanhu@FreeBSD.org>2009-05-27 09:44:14 +0000
commitaa1faa5fc62c7829c2248761d934a5456d42cb1a (patch)
treeec6461dd8524d6357e28ba0605836a82d7a962cf /sys
parent81fee06f9cc566345bb8a219542dc1b51698f2a2 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/netipsec/key.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/netipsec/key.c b/sys/netipsec/key.c
index 83377e526c36..a38bb8db3ecf 100644
--- a/sys/netipsec/key.c
+++ b/sys/netipsec/key.c
@@ -2396,14 +2396,17 @@ key_spddump(so, m, mhp)
/* search SPD entry and get buffer size. */
cnt = 0;
+ SPTREE_LOCK();
for (dir = 0; dir < IPSEC_DIR_MAX; dir++) {
LIST_FOREACH(sp, &V_sptree[dir], chain) {
cnt++;
}
}
- if (cnt == 0)
+ if (cnt == 0) {
+ SPTREE_UNLOCK();
return key_senderror(so, m, ENOENT);
+ }
for (dir = 0; dir < IPSEC_DIR_MAX; dir++) {
LIST_FOREACH(sp, &V_sptree[dir], chain) {
@@ -2416,6 +2419,7 @@ key_spddump(so, m, mhp)
}
}
+ SPTREE_UNLOCK();
m_freem(m);
return 0;
}