diff options
author | ume <ume@FreeBSD.org> | 2003-11-02 10:49:47 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2003-11-02 10:49:47 +0000 |
commit | 315c0ec426935ae53905eb509b87fc3e5f7b11af (patch) | |
tree | 139063bfcc6a97445dfe262917cbdfe465772185 /sys/netkey/keydb.c | |
parent | 1c3a3f7e2621ff295c7e7b931e81655cef49d115 (diff) | |
download | FreeBSD-src-315c0ec426935ae53905eb509b87fc3e5f7b11af.zip FreeBSD-src-315c0ec426935ae53905eb509b87fc3e5f7b11af.tar.gz |
cleanup secasvar management; refcnt is key.c responsibility;
alloc/free is keydb.c responsibility.
Obtained from: KAME
Diffstat (limited to 'sys/netkey/keydb.c')
-rw-r--r-- | sys/netkey/keydb.c | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/sys/netkey/keydb.c b/sys/netkey/keydb.c index 1ca71f0..309b512 100644 --- a/sys/netkey/keydb.c +++ b/sys/netkey/keydb.c @@ -57,8 +57,6 @@ __FBSDID("$FreeBSD$"); MALLOC_DEFINE(M_SECA, "key mgmt", "security associations, key management"); -static void keydb_delsecasvar(struct secasvar *); - /* * secpolicy management */ @@ -120,43 +118,14 @@ keydb_newsecasvar() if (!p) return p; bzero(p, sizeof(*p)); - p->refcnt = 1; return p; } void -keydb_refsecasvar(p) - struct secasvar *p; -{ - int s; - - s = splnet(); - p->refcnt++; - splx(s); -} - -void -keydb_freesecasvar(p) - struct secasvar *p; -{ - int s; - - s = splnet(); - p->refcnt--; - /* negative refcnt will cause panic intentionally */ - if (p->refcnt <= 0) - keydb_delsecasvar(p); - splx(s); -} - -static void keydb_delsecasvar(p) struct secasvar *p; { - if (p->refcnt) - panic("keydb_delsecasvar called with refcnt != 0"); - free(p, M_SECA); } |