On 05/31/16 13:42, Laszlo Ersek wrote:
> Hello Mike,
> 
> our virt-QE team reported an interesting issue:
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1308678#c14
> 
> We have a small UEFI_APPLICATION ((open source, of course) that enrolls
> a set of fixed certificates into PK / KEK / DB.
> 
> In the course of the gRT->SetVariable() call, using the SMM driver
> stack, the fault handler function that is used in SMM is invoked:
> SmiDefaultPFHandler() in "UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c".
> 
> Now, I have no clue about any situation when this fault handler should
> be invoked as part of normal operation -- perhaps there are such cases.
> But, in this instance, the function seems to walk the page tables, find
> the PTE, and realize that the Present bit is set in the PTE. Then it prints:
> 
>   PageTable = 7FFA6000, PTIndex = 1FF, PageTable[PTIndex] = 7FFF2251
>   New page table overlapped with old page table!
> 
> The code that prints this has a comment (rewrapped here for readability):
> 
> //
> // Check if the entry has already existed, this issue may occur when the
> // different size page entries created under the same entry
> //
> 
> Can you please help me interpret this? Is it related to 2MB / 1GB pages,
> as opposed to 4KB pages? Or should I be looking for a genuine fault in
> the variable driver?
> 
> I've never seen this issue, and in my normal work environment I can't
> reproduce it. In the report linked above, I noticed
> 
>   -cpu IvyBridge
> 
> which makes QEMU emulate "Intel Xeon E3-12xx v2 (Ivy Bridge)".
> 
> Whereas my laptop has a Haswell CPU ("i7-4810MQ"), and with the virtual
> machines I use for testing, I (or rather libvirtd) doesn't pass any
> particular -cpu switch to QEMU. That seems to imply "qemu64" ("QEMU
> Virtual CPU version 2.5+").
> 
> ... I've now tried with "-cpu IvyBridge" myself; I still can't reproduce it.

Hold on, I can reproduce it actually, regardless of CPU type. It seems
to be an edk2 regression somewhere between d7c0dfa and 90bb4c5, that has
been fixed between 90bb4c5 and current master (2f7b34b20). I'll try to
bisect it.

Thanks!
Laszlo

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to