Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Nov 2016 10:36:00 +0000 (UTC)
From:      "Andrey V. Elsukov" <ae@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r308975 - projects/ipsec/sys/netipsec
Message-ID:  <201611221036.uAMAa0K4083959@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ae
Date: Tue Nov 22 10:36:00 2016
New Revision: 308975
URL: https://svnweb.freebsd.org/changeset/base/308975

Log:
  Remove unused key_freeso() and key_freesp_so().
  Change debug code in key_freesav().

Modified:
  projects/ipsec/sys/netipsec/key.c

Modified: projects/ipsec/sys/netipsec/key.c
==============================================================================
--- projects/ipsec/sys/netipsec/key.c	Tue Nov 22 10:28:25 2016	(r308974)
+++ projects/ipsec/sys/netipsec/key.c	Tue Nov 22 10:36:00 2016	(r308975)
@@ -1032,64 +1032,13 @@ key_insertsp(struct secpolicy *newsp)
 			goto done;
 		}
 	}
-
 	TAILQ_INSERT_TAIL(&V_sptree[newsp->spidx.dir], newsp, chain);
-
 done:
 	LIST_INSERT_HEAD(SPHASH_HASH(newsp->id), newsp, idhash);
 	newsp->state = IPSEC_SPSTATE_ALIVE;
 	V_sp_genid++;
 }
 
-/*
- * Must be called after calling key_allocsp().
- * For the packet with socket.
- */
-void
-key_freeso(struct socket *so)
-{
-	IPSEC_ASSERT(so != NULL, ("null so"));
-
-	switch (so->so_proto->pr_domain->dom_family) {
-#if defined(INET) || defined(INET6)
-#ifdef INET
-	case PF_INET:
-#endif
-#ifdef INET6
-	case PF_INET6:
-#endif
-	    {
-		struct inpcb *pcb = sotoinpcb(so);
-
-		/* Does it have a PCB ? */
-		if (pcb == NULL)
-			return;
-		key_freesp_so(&pcb->inp_sp->sp_in);
-		key_freesp_so(&pcb->inp_sp->sp_out);
-	    }
-		break;
-#endif /* INET || INET6 */
-	default:
-		ipseclog((LOG_DEBUG, "%s: unknown address family=%d.\n",
-		    __func__, so->so_proto->pr_domain->dom_family));
-		return;
-	}
-}
-
-static void
-key_freesp_so(struct secpolicy **sp)
-{
-	IPSEC_ASSERT(sp != NULL && *sp != NULL, ("null sp"));
-
-	if ((*sp)->policy == IPSEC_POLICY_ENTRUST ||
-	    (*sp)->policy == IPSEC_POLICY_BYPASS)
-		return;
-
-	IPSEC_ASSERT((*sp)->policy == IPSEC_POLICY_IPSEC,
-		("invalid policy %u", (*sp)->policy));
-	KEY_FREESP(sp);
-}
-
 void
 key_addrefsa(struct secasvar *sav, const char* where, int tag)
 {
@@ -1097,7 +1046,7 @@ key_addrefsa(struct secasvar *sav, const
 	IPSEC_ASSERT(sav != NULL, ("null sav"));
 	IPSEC_ASSERT(sav->refcnt > 0, ("refcount must exist"));
 
-	sa_addref(sav);
+	SAV_ADDREF(sav);
 }
 
 /*
@@ -1106,23 +1055,19 @@ key_addrefsa(struct secasvar *sav, const
  * for a policy.
  */
 void
-key_freesav(struct secasvar **psav, const char* where, int tag)
+key_freesav(struct secasvar **psav)
 {
 	struct secasvar *sav = *psav;
 
 	IPSEC_ASSERT(sav != NULL, ("null sav"));
+	if (SAV_DELREF(sav) == 0)
+		return;
 
-	if (sa_delref(sav)) {
-		KEYDEBUG(KEYDEBUG_IPSEC_STAMP,
-			printf("DP %s SA:%p (SPI %u) from %s:%u; refcnt now %u\n",
-				__func__, sav, ntohl(sav->spi), where, tag, sav->refcnt));
-		*psav = NULL;
-		key_delsav(sav);
-	} else {
-		KEYDEBUG(KEYDEBUG_IPSEC_STAMP,
-			printf("DP %s SA:%p (SPI %u) from %s:%u; refcnt now %u\n",
-				__func__, sav, ntohl(sav->spi), where, tag, sav->refcnt));
-	}
+	KEYDBG(IPSEC_STAMP,
+	    printf("%s: last reference to SA(%p)\n", __func__, sav));
+
+	*psav = NULL;
+	key_delsav(sav);
 }
 
 /* %%% SPD management */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201611221036.uAMAa0K4083959>