]> git.proxmox.com Git - mirror_edk2.git/commit
MdeModulePkg VariableSmm: Do not need check CommBufferSize buffer
authorStar Zeng <star.zeng@intel.com>
Fri, 9 Dec 2016 06:47:03 +0000 (14:47 +0800)
committerStar Zeng <star.zeng@intel.com>
Mon, 12 Dec 2016 01:17:58 +0000 (09:17 +0800)
commit62016c1e898434a0326f658912b1e7e0a9c5575e
tree35c06234081e25086f18c65855a0454c81d4fadd
parent8b78de74dc6a7d655de50f1e203cbc830de1d9ae
MdeModulePkg VariableSmm: Do not need check CommBufferSize buffer

Current code in SmmVariableHandler() checks CommBufferSize
buffer to make sure it points to outside SMRAM in
"case SMM_VARIABLE_FUNCTION_GET_STATISTICS".

But after eaae7b33b1cf6b9f21db1636f219c2b6a8d88afd,
CommBufferSize buffer points to SMRAM that was used by
SMM core to cache CommSize from SmmCommunication protocol,
then the check will fail definitely and GET_STATISTICS
feature breaks.

In fact, do not need check CommBufferSize buffer at all
even before eaae7b33b1cf6b9f21db1636f219c2b6a8d88afd.
Before eaae7b33b1cf6b9f21db1636f219c2b6a8d88afd,
CommBufferSize buffer pointed to gSmmCorePrivate->BufferSize
that is outside SMRAM, the check will success definitely;
after eaae7b33b1cf6b9f21db1636f219c2b6a8d88afd,
CommBufferSize buffer points to local variable BufferSize
(in SMRAM) in SmmEntryPoint(), the check is not needed
definitely.

The patch is to remove the check.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.c