[BACK]Return to key.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / netipsec

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/netipsec/key.c between version 1.256 and 1.257

version 1.256, 2018/07/04 19:20:25 version 1.257, 2018/08/23 01:55:38
Line 3455  key_checkspidup(const struct secasindex 
Line 3455  key_checkspidup(const struct secasindex 
 {  {
         struct secashead *sah;          struct secashead *sah;
         struct secasvar *sav;          struct secasvar *sav;
         int s;  
   
         /* check address family */          /* check address family */
         if (saidx->src.sa.sa_family != saidx->dst.sa.sa_family) {          if (saidx->src.sa.sa_family != saidx->dst.sa.sa_family) {
Line 3466  key_checkspidup(const struct secasindex 
Line 3465  key_checkspidup(const struct secasindex 
         }          }
   
         /* check all SAD */          /* check all SAD */
         s = pserialize_read_enter();          /* key_ismyaddr may sleep, so use mutex, not pserialize, here. */
         SAHLIST_READER_FOREACH(sah) {          mutex_enter(&key_sad.lock);
           SAHLIST_WRITER_FOREACH(sah) {
                 if (!key_ismyaddr((struct sockaddr *)&sah->saidx.dst))                  if (!key_ismyaddr((struct sockaddr *)&sah->saidx.dst))
                         continue;                          continue;
                 sav = key_getsavbyspi(sah, spi);                  sav = key_getsavbyspi(sah, spi);
                 if (sav != NULL) {                  if (sav != NULL) {
                         pserialize_read_exit(s);  
                         KEY_SA_UNREF(&sav);                          KEY_SA_UNREF(&sav);
                           mutex_exit(&key_sad.lock);
                         return true;                          return true;
                 }                  }
         }          }
         pserialize_read_exit(s);          mutex_exit(&key_sad.lock);
   
         return false;          return false;
 }  }

Legend:
Removed from v.1.256  
changed lines
  Added in v.1.257

CVSweb <webmaster@jp.NetBSD.org>