]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netkey/keydb.c
xnu-792.10.96.tar.gz
[apple/xnu.git] / bsd / netkey / keydb.c
index d9bf27f604a8d55bca964df1f86b2250b5338dcd..8da09b8779cc787e44061d0ee26d9ada58c3c59a 100644 (file)
  * SUCH DAMAGE.
  */
 
-#if (defined(__FreeBSD__) && __FreeBSD__ >= 3) || defined(__NetBSD__)
-#include "opt_inet.h"
-#ifdef __NetBSD__
-#include "opt_ipsec.h"
-#endif
-#endif
-
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <sys/param.h>
 
 #include <net/net_osdep.h>
 
-#if defined(__FreeBSD__) && __FreeBSD__ >= 3
 MALLOC_DEFINE(M_SECA, "key mgmt", "security associations, key management");
-#endif
 
-static void keydb_delsecasvar __P((struct secasvar *));
+static void keydb_delsecasvar(struct secasvar *);
 
 /*
  * secpolicy management
@@ -133,11 +124,7 @@ keydb_refsecasvar(p)
 {
        int s;
 
-#ifdef __NetBSD__
-       s = splsoftnet();
-#else
        s = splnet();
-#endif
        p->refcnt++;
        splx(s);
 }
@@ -148,13 +135,10 @@ keydb_freesecasvar(p)
 {
        int s;
 
-#ifdef __NetBSD__
-       s = splsoftnet();
-#else
        s = splnet();
-#endif
        p->refcnt--;
-       if (p->refcnt == 0)
+       /* negative refcnt will cause panic intentionally */
+       if (p->refcnt <= 0)
                keydb_delsecasvar(p);
        splx(s);
 }