Lines Matching defs:newsav

3181 	struct secasvar *newsav;
3190 KMALLOC_NOWAIT(newsav, struct secasvar *, sizeof(struct secasvar));
3191 if (newsav == NULL) {
3193 KMALLOC_WAIT(newsav, struct secasvar *, sizeof(struct secasvar));
3195 if (newsav == NULL) {
3201 bzero((caddr_t)newsav, sizeof(struct secasvar));
3205 key_setspi(newsav, 0);
3210 newsav->seq =
3214 newsav->seq = mhp->msg->sadb_msg_seq;
3220 KFREE(newsav);
3226 key_setspi(newsav, xsa->sadb_sa_spi);
3227 newsav->seq = mhp->msg->sadb_msg_seq;
3230 KFREE(newsav);
3237 *errp = key_setsaval(newsav, m, mhp);
3239 if (newsav->spihash.le_prev || newsav->spihash.le_next)
3240 LIST_REMOVE(newsav, spihash);
3241 KFREE(newsav);
3250 newsav->created = tv.tv_sec;
3253 newsav->pid = mhp->msg->sadb_msg_pid;
3256 newsav->sah = sah;
3257 newsav->refcnt = 1;
3258 newsav->state = SADB_SASTATE_LARVAL;
3259 LIST_INSERT_TAIL(&sah->savtree[SADB_SASTATE_LARVAL], newsav,
3263 return newsav;
3294 struct secasvar *newsav;
3302 KMALLOC_NOWAIT(newsav, struct secasvar *, sizeof(struct secasvar));
3303 if (newsav == NULL) {
3305 KMALLOC_WAIT(newsav, struct secasvar *, sizeof(struct secasvar));
3307 if (newsav == NULL) {
3312 bzero((caddr_t)newsav, sizeof(struct secasvar));
3317 newsav->seq = (acq_seq = (acq_seq == ~0 ? 1 : ++acq_seq));
3320 newsav->seq = seq;
3321 key_setspi(newsav, spi);
3323 if (key_setsaval2(newsav,
3339 if (newsav->spihash.le_prev || newsav->spihash.le_next)
3340 LIST_REMOVE(newsav, spihash);
3341 KFREE(newsav);
3349 newsav->created = tv.tv_sec;
3352 newsav->pid = pid;
3355 newsav->sah = sah;
3356 newsav->refcnt = 1;
3358 newsav->state = SADB_SASTATE_MATURE;
3359 LIST_INSERT_TAIL(&sah->savtree[SADB_SASTATE_MATURE], newsav,
3362 newsav->state = SADB_SASTATE_LARVAL;
3363 LIST_INSERT_TAIL(&sah->savtree[SADB_SASTATE_LARVAL], newsav,
3368 return newsav;
5720 struct secasvar *newsav;
5821 newsav = key_newsav(m, mhp, newsah, &error);
5822 if (newsav == NULL) {
5829 key_setspi(newsav, htonl(spi));
5907 newmsg->sadb_msg_seq = newsav->seq;
6297 struct secasvar *newsav;
6380 newsav = key_newsav(m, mhp, newsah, &error);
6381 if (newsav == NULL) {
6390 if ((newsav->flags & SADB_X_EXT_NATT_MULTIPLEUSERS) != 0 &&
6393 newsav->flags &= ~SADB_X_EXT_NATT_MULTIPLEUSERS;
6396 if ((error = key_mature(newsav)) != 0) {
6397 key_freesav(newsav, KEY_SADB_LOCKED);