Star Zeng 
							
						 
					 
					
						
						
							
						
						82e47eb22f 
					 
					
						
						
							
							MdeModulePkg Variable: Keep the behavior of Variable Dxe and SMM drivers consistent  
						
						... 
						
						
						
						to return EFI_NOT_FOUND when a specified variable doesn't exist and
Data parameter is NULL but DataSize parameter is valid in GetVariable() invocation.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Feng Tian <feng.tian@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17030  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2015-03-09 13:03:42 +00:00 
						 
				 
			
				
					
						
							
							
								Star Zeng 
							
						 
					 
					
						
						
							
						
						efb01a104d 
					 
					
						
						
							
							MdeModulePkg Variable: Implement VarCheck PROTOCOL  
						
						... 
						
						
						
						and follow UEFI spec to check UEFI defined variables.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16579  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2015-01-05 03:38:36 +00:00 
						 
				 
			
				
					
						
							
							
								Star Zeng 
							
						 
					 
					
						
						
							
						
						18a7dbbc02 
					 
					
						
						
							
							MdeModulePkg Variable: Add missing warning annotation.  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16401  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-19 01:08:23 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Dong 
							
						 
					 
					
						
						
							
						
						4e1005eca7 
					 
					
						
						
							
							Update code to support VS2013 tool chain.  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com >
Reviewed-by: Liming Gao <liming.gao@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15695  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-07-28 07:52:57 +00:00 
						 
				 
			
				
					
						
							
							
								niruiyu 
							
						 
					 
					
						
						
							
						
						51547bb879 
					 
					
						
						
							
							Remove the complex buffer since the _LOCK_VARIABLE won't be allowed after leaving DXE phase.  
						
						... 
						
						
						
						Add the variable name size check in the RequestToLock wrapper.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Star Zeng <star.zeng@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14377  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2013-05-20 07:04:56 +00:00 
						 
				 
			
				
					
						
							
							
								niruiyu 
							
						 
					 
					
						
						
							
						
						ff8438477f 
					 
					
						
						
							
							Add EDKII_VARIABLE_LOCK_PROTOCOL and the implementation in MdeModulePkg variable drivers.  
						
						... 
						
						
						
						Add code in BdsDxe driver to call the protocol to mark the read-only variables defined in the UEFI Spec.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: Star Zeng <star.zeng@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14372  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2013-05-17 03:49:35 +00:00 
						 
				 
			
				
					
						
							
							
								lzeng14 
							
						 
					 
					
						
						
							
						
						5e5bb2a9ba 
					 
					
						
						
							
							1. Fix TOCTOU issue in VariableSmm, FtwSmm, FpdtSmm, SmmCorePerformance SMM handler. For VariableSmm, pre-allocate a mVariableBufferPayload buffer with mVariableBufferPayloadSize(match with mVariableBufferPayloadSize in VariableSmmRuntimeDxe) to hold communicate buffer payload to avoid TOCTOU issue.  
						
						... 
						
						
						
						2. Add check to ensure CommBufferPayloadSize not exceed mVariableBufferPayloadSize or is enough to hold function structure in VariableSmm and FtwSmm.
3. Align FtwGetLastWrite() in FaultTolerantWriteSmmDxe.c to FtwGetLastWrite() in FaultTolerantWrite.c.
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14325  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2013-05-07 05:38:32 +00:00 
						 
				 
			
				
					
						
							
							
								lzeng14 
							
						 
					 
					
						
						
							
						
						9d00d20ed4 
					 
					
						
						
							
							1. Use the check IsAddressValid() to prevent SMM communication buffer overflow in SmmVariable, FtwSmm, FpdtSmm, SmmCorePerformance and SmmBaseHelper, and add check to prevent InfoSize overflows in SmmVariableHandler.  
						
						... 
						
						
						
						2. Refine the debug message.
3. Add check to make sure the input VariableName is A Null-terminated string.
4. Use local variable to hold StrSize (VariableName) to avoid duplicated StrSize calculation.
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14317  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2013-04-25 10:49:45 +00:00 
						 
				 
			
				
					
						
							
							
								czhang46 
							
						 
					 
					
						
						
							
						
						56251c669f 
					 
					
						
						
							
							Fix potential overflow for SetVariable interface  
						
						... 
						
						
						
						Signed-off-by: Chao Zhang <chao.b.zhang@intel.com >
Reviewed-by  : Guo Dong   <dong.guo@intel.com >
Reviewed-by  : Siyuan Fu  <siyuan.fu@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14305  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2013-04-22 08:52:58 +00:00 
						 
				 
			
				
					
						
							
							
								czhang46 
							
						 
					 
					
						
						
							
						
						3a146f2a7d 
					 
					
						
						
							
							Fix SMM Variable driver stack GetVariable return INVALID_PARAMETER when DataSize is bigger than SMM communication buffer.  
						
						... 
						
						
						
						Signed-off-by: Chao Zhang <chao.b.zhang@intel.com >
Reviewed-by  : Dong Guo   <guo.dong@intel.com >
Reviewed-by  : Fu Siyuan  <siyuan.fu@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14276  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2013-04-15 01:56:31 +00:00 
						 
				 
			
				
					
						
							
							
								czhang46 
							
						 
					 
					
						
						
							
						
						0c55190f40 
					 
					
						
						
							
							Update SMM variable DXE driver GetNextVariable interface to comply with UEFI spec  
						
						... 
						
						
						
						VariableNameSize is the returned buffer size. GetNextVariable should behavior correct if it is bigger than SMM communication buffer or less than string size of VariableName. 
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com >
Reviewed-by  : Dong Guo   <guo.dong@intel.com >
Reviewed-by  : Fu Siyuan  <siyuan.fu@intel.com >
Reviewed-by  : Zeng Star  <star.zeng@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14258  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2013-04-12 05:59:11 +00:00 
						 
				 
			
				
					
						
							
							
								lzeng14 
							
						 
					 
					
						
						
							
						
						3588bb3529 
					 
					
						
						
							
							If DataSize or VariableNameSize is near MAX_ADDRESS, this can cause the computed PayLoadSize to overflow to a small value and pass the check in InitCommunicateBuffer(). To protect against this vulnerability, check DataSize and VariableNameSize to make sure PayloadSize doesn't overflow.  
						
						... 
						
						
						
						Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14252  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2013-04-08 06:56:08 +00:00 
						 
				 
			
				
					
						
							
							
								lzeng14 
							
						 
					 
					
						
						
							
						
						aab9212fa9 
					 
					
						
						
							
							Fix the issue that RuntimeServiceQueryVariableInfo() in VariableSmmRuntimeDxe always return EFI_SUCCESS.  
						
						... 
						
						
						
						Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14050  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2013-01-15 06:43:24 +00:00 
						 
				 
			
				
					
						
							
							
								lzeng14 
							
						 
					 
					
						
						
							
						
						6ed1ec5946 
					 
					
						
						
							
							Add the TPL raise/restore code for VariableSmmRuntimeDxe to avoid variable services reentry.  
						
						... 
						
						
						
						Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14038  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2013-01-08 02:07:14 +00:00 
						 
				 
			
				
					
						
							
							
								ydong10 
							
						 
					 
					
						
						
							
						
						96277f7402 
					 
					
						
						
							
							Include read data buffer in CommBufferSize when calculate the buffer size.  
						
						... 
						
						
						
						Signed-off-by: Eric Dong <eric.dong@intel.com >
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13512  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2012-07-09 02:03:47 +00:00 
						 
				 
			
				
					
						
							
							
								gdong1 
							
						 
					 
					
						
						
							
						
						d00ed85e0a 
					 
					
						
						
							
							Puts SMM variable common definitions in SmmVariableCommon.h.  
						
						... 
						
						
						
						Fixed a bug that SMM_VARIABLE_COMMUNICATE_VARIABLE_INFO_ENTRY was misused as SMM_VARIABLE_COMMUNICATE_QUERY_VARIABLE_INFO.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11339  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2011-02-28 07:31:45 +00:00 
						 
				 
			
				
					
						
							
							
								gdong1 
							
						 
					 
					
						
						
							
						
						32732a333a 
					 
					
						
						
							
							Update inappropriate comments.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11170  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2010-12-15 01:51:46 +00:00 
						 
				 
			
				
					
						
							
							
								gdong1 
							
						 
					 
					
						
						
							
						
						5c7fa42941 
					 
					
						
						
							
							Add typecast to remove warning with ICC.  
						
						... 
						
						
						
						VariableSmm.inf: Remove SmmLib 
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11156  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2010-12-11 11:17:47 +00:00 
						 
				 
			
				
					
						
							
							
								gdong1 
							
						 
					 
					
						
						
							
						
						8a2d49964e 
					 
					
						
						
							
							Add SMM Variable implementation.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11151  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2010-12-10 09:27:54 +00:00