Reviewed-by: Qiu Shumin <[email protected]> -----Original Message----- From: Zeng, Star Sent: Tuesday, October 27, 2015 2:00 PM To: [email protected] Cc: Qiu, Shumin Subject: [PATCH] MdeModulePkg Variable: Move CacheVariable->InDeletedTransitionPtr NULL pointer check
This change is triggered by R18654 "Enhance variable performance by reading from existed memory cache" that changed the code to use CacheVariable to improve performance. So the CacheVariable->InDeletedTransitionPtr NULL pointer check needs to be moved to the place before it is been used. Cc: Shumin Qiu <[email protected]> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <[email protected]> --- MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c index e5ffb5a..621ce16 100644 --- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c +++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c @@ -2280,6 +2280,7 @@ UpdateVariable ( // Both ADDED and IN_DELETED_TRANSITION variable are present, // set IN_DELETED_TRANSITION one to DELETED state first. // + ASSERT (CacheVariable->InDeletedTransitionPtr != NULL); State = CacheVariable->InDeletedTransitionPtr->State; State &= VAR_DELETED; Status = UpdateVariableStore ( @@ -2293,7 +2294,6 @@ UpdateVariable ( ); if (!EFI_ERROR (Status)) { if (!Variable->Volatile) { - ASSERT (CacheVariable->InDeletedTransitionPtr != NULL); CacheVariable->InDeletedTransitionPtr->State = State; } } else { @@ -2719,6 +2719,7 @@ UpdateVariable ( // Both ADDED and IN_DELETED_TRANSITION old variable are present, // set IN_DELETED_TRANSITION one to DELETED state first. // + ASSERT (CacheVariable->InDeletedTransitionPtr != NULL); State = CacheVariable->InDeletedTransitionPtr->State; State &= VAR_DELETED; Status = UpdateVariableStore ( @@ -2732,7 +2733,6 @@ UpdateVariable ( ); if (!EFI_ERROR (Status)) { if (!Variable->Volatile) { - ASSERT (CacheVariable->InDeletedTransitionPtr != NULL); CacheVariable->InDeletedTransitionPtr->State = State; } } else { -- 1.9.5.msysgit.0 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

