Revision: 18352
          http://sourceforge.net/p/edk2/code/18352
Author:   jiaxinwu
Date:     2015-08-28 07:00:32 +0000 (Fri, 28 Aug 2015)
Log Message:
-----------
NetworkPkg: Fix IpSec run into infinite loop issue in some case

v2:
* Update the copyright year and conditional judgment for removing.

When edit one SPEntry in SPD database, the corresponding SA entry will
be updated to the sas list of the new SPD entry. But before that, all
of them should be removed from the original sas list. If not, the list
will be broken into infinite loop.

Cc: Ye Ting <[email protected]>
Cc: Fu Siyuan <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <[email protected]>
Reviewed-by: Ye Ting <[email protected]>
Reviewed-by: Fu Siyuan <[email protected]>

Modified Paths:
--------------
    trunk/edk2/NetworkPkg/IpSecDxe/IpSecConfigImpl.c

Modified: trunk/edk2/NetworkPkg/IpSecDxe/IpSecConfigImpl.c
===================================================================
--- trunk/edk2/NetworkPkg/IpSecDxe/IpSecConfigImpl.c    2015-08-28 07:00:31 UTC 
(rev 18351)
+++ trunk/edk2/NetworkPkg/IpSecDxe/IpSecConfigImpl.c    2015-08-28 07:00:32 UTC 
(rev 18352)
@@ -1,7 +1,7 @@
 /** @file
   The implementation of IPSEC_CONFIG_PROTOCOL.
 
-  Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD 
License
@@ -1199,6 +1199,9 @@
             (EFI_IPSEC_CONFIG_SELECTOR *) &SpdData->SaId[Index],
             (EFI_IPSEC_CONFIG_SELECTOR *) SadEntry->Id
             )) {
+        if (SadEntry->Data->SpdEntry != NULL) {  
+          RemoveEntryList (&SadEntry->BySpd);
+        }
         InsertTailList (&SpdEntry->Data->Sas, &SadEntry->BySpd);
         SadEntry->Data->SpdEntry = SpdEntry;
         DuplicateSpdSelector (


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to