summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Core/Dxe/Misc
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2017-03-20 11:24:23 +0100
committerLaszlo Ersek <lersek@redhat.com>2017-03-20 16:42:03 +0100
commit38b15ebe4fd5888493131d30fc31833a5e9a7d36 (patch)
treee7d7430146efa3f41f24eb551e3e8d290d0961de /MdeModulePkg/Core/Dxe/Misc
parent76874be3d411bf8daac051718e20932e0bf97d70 (diff)
downloadedk2-38b15ebe4fd5888493131d30fc31833a5e9a7d36.zip
edk2-38b15ebe4fd5888493131d30fc31833a5e9a7d36.tar.gz
edk2-38b15ebe4fd5888493131d30fc31833a5e9a7d36.tar.bz2
MdeModulePkg/Core/Dxe: downgrade "CodeSegmentCount is 0" msg to DEBUG_WARN
UEFI executables that consist of a single read+write+exec PE/COFF section trigger this message, but such a binary layout isn't actually an error. The image can be launched alright, only image protection cannot be applied to it fully. One example that elicits the message is (some) Linux kernels (with the EFI stub of course). Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Feng Tian <feng.tian@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Diffstat (limited to 'MdeModulePkg/Core/Dxe/Misc')
-rw-r--r--MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c b/MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c
index 7689c79..451cc35 100644
--- a/MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c
+++ b/MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c
@@ -580,10 +580,18 @@ ProtectUefiImageCommon (
}
if (ImageRecord->CodeSegmentCount == 0) {
- DEBUG ((DEBUG_ERROR, "!!!!!!!! ProtectUefiImageCommon - CodeSegmentCount is 0 !!!!!!!!\n"));
+ //
+ // If a UEFI executable consists of a single read+write+exec PE/COFF
+ // section, that isn't actually an error. The image can be launched
+ // alright, only image protection cannot be applied to it fully.
+ //
+ // One example that elicits this is (some) Linux kernels (with the EFI stub
+ // of course).
+ //
+ DEBUG ((DEBUG_WARN, "!!!!!!!! ProtectUefiImageCommon - CodeSegmentCount is 0 !!!!!!!!\n"));
PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*) (UINTN) ImageAddress);
if (PdbPointer != NULL) {
- DEBUG ((DEBUG_ERROR, "!!!!!!!! Image - %a !!!!!!!!\n", PdbPointer));
+ DEBUG ((DEBUG_WARN, "!!!!!!!! Image - %a !!!!!!!!\n", PdbPointer));
}
goto Finish;
}