Re: [edk2] [PATCH] UefiCpuPkg PiSmmCpuDxeSmm: Fixed #double fault on #page fault for IA32

2018-01-12 Thread Zeng, Star
Yes, right. Patch for that case is on the way. Thanks, Star -Original Message- From: Yao, Jiewen Sent: Friday, January 12, 2018 3:59 PM To: Zeng, Star ; edk2-devel@lists.01.org Cc: Wang, Jian J ; Dong, Eric ; Laszlo Ersek

Re: [edk2] [PATCH] UefiCpuPkg PiSmmCpuDxeSmm: Fixed #double fault on #page fault for IA32

2018-01-12 Thread Yao, Jiewen
Thanks to fix this. The update seems good. Reviewed-by: jiewen@intel.com I reviewed more code and find we already set IDT to be RO. gcSmiIdtr.Base = (UINTN)AllocateCodePages (EFI_SIZE_TO_PAGES(gcSmiIdtr.Limit + 1)); So we do not need set RO for IDT as well. (Setting XP is still needed).

[edk2] [PATCH] UefiCpuPkg PiSmmCpuDxeSmm: Fixed #double fault on #page fault for IA32

2018-01-11 Thread Star Zeng
When StackGuard is enabled on IA32, the #double fault exception is reported instead of #page fault. This issue does not exist on X64, or IA32 without StackGuard. The fix at e4435f710cea2d2f10cd7343d545920867780086 was incomplete. It is because AllocateCodePages() is used to allocate buffer for