]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/PiSmmCore: Use unique structure signatures
authorMichael D Kinney <michael.d.kinney@intel.com>
Fri, 28 Jun 2019 19:49:52 +0000 (12:49 -0700)
committerMichael D Kinney <michael.d.kinney@intel.com>
Fri, 2 Aug 2019 23:40:34 +0000 (16:40 -0700)
https://bugzilla.tianocore.org/show_bug.cgi?id=1948

Update the data structure signatures in the PiSmmCore
to be unique. Some of the signatures are the same as those
used by the DxeCore. For example, the memory pool head and
tail structures use the same signature in the PiSmmCore
and DxeCore.  This means the use of the wrong FreePool API
will not be noticed at the time FreePool is called and a
failure can occur much later.  By making the signatures
unique, misuse of an API is caught at that time the API is
called.

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
MdeModulePkg/Core/PiSmmCore/PiSmmCore.h

index da01a1f07dc36be6325c82f9e62827a24dc9f24f..0908e7f4e9e7b254915e6b2e5b8ee114a782bf4a 100644 (file)
@@ -2,7 +2,7 @@
   The internal header file includes the common header files, defines\r
   internal structure and functions used by SmmCore module.\r
 \r
-  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>\r
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
@@ -140,7 +140,7 @@ typedef struct {
   EFI_LOADED_IMAGE_PROTOCOL       SmmLoadedImage;\r
 } EFI_SMM_DRIVER_ENTRY;\r
 \r
-#define EFI_HANDLE_SIGNATURE            SIGNATURE_32('h','n','d','l')\r
+#define EFI_HANDLE_SIGNATURE            SIGNATURE_32('s','h','d','l')\r
 \r
 ///\r
 /// IHANDLE - contains a list of protocol handles\r
@@ -156,7 +156,7 @@ typedef struct {
 \r
 #define ASSERT_IS_HANDLE(a)  ASSERT((a)->Signature == EFI_HANDLE_SIGNATURE)\r
 \r
-#define PROTOCOL_ENTRY_SIGNATURE        SIGNATURE_32('p','r','t','e')\r
+#define PROTOCOL_ENTRY_SIGNATURE        SIGNATURE_32('s','p','t','e')\r
 \r
 ///\r
 /// PROTOCOL_ENTRY - each different protocol has 1 entry in the protocol\r
@@ -175,7 +175,7 @@ typedef struct {
   LIST_ENTRY          Notify;\r
 } PROTOCOL_ENTRY;\r
 \r
-#define PROTOCOL_INTERFACE_SIGNATURE  SIGNATURE_32('p','i','f','c')\r
+#define PROTOCOL_INTERFACE_SIGNATURE  SIGNATURE_32('s','p','i','f')\r
 \r
 ///\r
 /// PROTOCOL_INTERFACE - each protocol installed on a handle is tracked\r
@@ -195,7 +195,7 @@ typedef struct {
   VOID                        *Interface;\r
 } PROTOCOL_INTERFACE;\r
 \r
-#define PROTOCOL_NOTIFY_SIGNATURE       SIGNATURE_32('p','r','t','n')\r
+#define PROTOCOL_NOTIFY_SIGNATURE       SIGNATURE_32('s','p','t','n')\r
 \r
 ///\r
 /// PROTOCOL_NOTIFY - used for each register notification for a protocol\r
@@ -1245,7 +1245,7 @@ extern LIST_ENTRY  mSmmMemoryMap;
 //\r
 #define MAX_POOL_INDEX  (MAX_POOL_SHIFT - MIN_POOL_SHIFT + 1)\r
 \r
-#define POOL_HEAD_SIGNATURE   SIGNATURE_32('p','h','d','0')\r
+#define POOL_HEAD_SIGNATURE   SIGNATURE_32('s','p','h','d')\r
 \r
 typedef struct {\r
   UINT32            Signature;\r
@@ -1254,7 +1254,7 @@ typedef struct {
   UINTN             Size;\r
 } POOL_HEADER;\r
 \r
-#define POOL_TAIL_SIGNATURE   SIGNATURE_32('p','t','a','l')\r
+#define POOL_TAIL_SIGNATURE   SIGNATURE_32('s','p','t','l')\r
 \r
 typedef struct {\r
   UINT32            Signature;\r