[edk2-devel] [PATCH v3 0/2] OvmfPkg/PlatformInitLib: catch QEMU's CPU hotplug reg block regression

Laszlo Ersek posted 2 patches 1 year, 3 months ago
Failed in applying to current master (apply log)
OvmfPkg/Library/PlatformInitLib/Platform.c | 168 +++++++++++++++++---
1 file changed, 145 insertions(+), 23 deletions(-)
[edk2-devel] [PATCH v3 0/2] OvmfPkg/PlatformInitLib: catch QEMU's CPU hotplug reg block regression
Posted by Laszlo Ersek 1 year, 3 months ago
Repo:       https://pagure.io/lersek/edk2.git
Branch:     cpuhp-reg-catch-4250-v3
Test build: https://github.com/tianocore/edk2/pull/3930
Bugzilla:   https://bugzilla.tianocore.org/show_bug.cgi?id=4250

v2 was posted at:
- http://mid.mail-archive.com/20230112082845.128463-1-lersek@redhat.com
- https://edk2.groups.io/g/devel/message/98336
- https://listman.redhat.com/archives/edk2-devel-archive/2023-January/057634.html

Please see the Notes sections of the patches, regarding the updates.

The "PlatformCI_OvmfPkg_Windows_VS2019_PR" checks in test build linked
above time out again (as expected); now with the following debug log:

> PlatformCpuCountBugCheck: Present=0 Possible=1
> PlatformCpuCountBugCheck: Broken CPU hotplug register block found. Update QEMU to version 8+, or
> PlatformCpuCountBugCheck: to a stable release with commit dab30fbef389 backported. Refer to
> PlatformCpuCountBugCheck: <https://bugzilla.tianocore.org/show_bug.cgi?id=4250>.
> PlatformCpuCountBugCheck: Consequences of the QEMU bug may include, but are not limited to:
> PlatformCpuCountBugCheck: - all firmware logic, dependent on the CPU hotplug register block,
> PlatformCpuCountBugCheck:   being confused, for example, multiprocessing-related logic;
> PlatformCpuCountBugCheck: - guest OS data loss, including filesystem corruption, due to crash or
> PlatformCpuCountBugCheck:   hang during ACPI S3 resume;
> PlatformCpuCountBugCheck: - SMM privilege escalation, by a malicious guest OS or 3rd partty UEFI
> PlatformCpuCountBugCheck:   agent, against the platform firmware.
> PlatformCpuCountBugCheck: These symptoms need not necessarily be limited to the QEMU user
> PlatformCpuCountBugCheck: attempting to hot(un)plug a CPU.
> PlatformCpuCountBugCheck: The firmware will now stop (hang) deliberately, in order to prevent the
> PlatformCpuCountBugCheck: above symptoms.
> PlatformCpuCountBugCheck: You can forcibly override the hang, *at your own risk*, with the
> PlatformCpuCountBugCheck: following *experimental* QEMU command line option:
> PlatformCpuCountBugCheck:   -fw_cfg name=opt/org.tianocore/X-Cpuhp-Bugcheck-Override,string=yes
> PlatformCpuCountBugCheck: Please only report such bugs that you can reproduce *without* the
> PlatformCpuCountBugCheck: override.
> Select Item: 0x19
> ASSERT d:\a\1\s\OvmfPkg\Library\PlatformInitLib\Platform.c(520): ((BOOLEAN)(0==1))

The "PlatformCI_OvmfPkg_Ubuntu_GCC5_PR" checks succed, probably due to
edk2 commits ef0916009843 ("CI: Use Fedora 35 container (Linux only)",
2023-01-17) and 7fab007f33e9 ("OvmfPkg: CI: Use Fedora 35 container
(Linux only)", 2023-01-17), and due to
<https://github.com/tianocore/containers/commit/47addc9a4f20> applying
the upstream QEMU patch.

Laszlo

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Michael Brown <mcb30@ipxe.org>
Cc: Min Xu <min.m.xu@intel.com>
Cc: Oliver Steffen <osteffen@redhat.com>
Cc: Sebastien Boeuf <sebastien.boeuf@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>

Laszlo Ersek (2):
  OvmfPkg/PlatformInitLib: factor out PlatformCpuCountBugCheck()
  OvmfPkg/PlatformInitLib: catch QEMU's CPU hotplug reg block regression

 OvmfPkg/Library/PlatformInitLib/Platform.c | 168 +++++++++++++++++---
 1 file changed, 145 insertions(+), 23 deletions(-)



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#98886): https://edk2.groups.io/g/devel/message/98886
Mute This Topic: https://groups.io/mt/96374972/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [PATCH v3 0/2] OvmfPkg/PlatformInitLib: catch QEMU's CPU hotplug reg block regression
Posted by Laszlo Ersek 1 year, 3 months ago
On 1/19/23 12:01, Laszlo Ersek wrote:
> Repo:       https://pagure.io/lersek/edk2.git
> Branch:     cpuhp-reg-catch-4250-v3
> Test build: https://github.com/tianocore/edk2/pull/3930
> Bugzilla:   https://bugzilla.tianocore.org/show_bug.cgi?id=4250
> 
> v2 was posted at:
> - http://mid.mail-archive.com/20230112082845.128463-1-lersek@redhat.com
> - https://edk2.groups.io/g/devel/message/98336
> - https://listman.redhat.com/archives/edk2-devel-archive/2023-January/057634.html
> 
> Please see the Notes sections of the patches, regarding the updates.
> 
> The "PlatformCI_OvmfPkg_Windows_VS2019_PR" checks in test build linked
> above time out again (as expected); now with the following debug log:
> 
>> PlatformCpuCountBugCheck: Present=0 Possible=1
>> PlatformCpuCountBugCheck: Broken CPU hotplug register block found. Update QEMU to version 8+, or
>> PlatformCpuCountBugCheck: to a stable release with commit dab30fbef389 backported. Refer to
>> PlatformCpuCountBugCheck: <https://bugzilla.tianocore.org/show_bug.cgi?id=4250>.
>> PlatformCpuCountBugCheck: Consequences of the QEMU bug may include, but are not limited to:
>> PlatformCpuCountBugCheck: - all firmware logic, dependent on the CPU hotplug register block,
>> PlatformCpuCountBugCheck:   being confused, for example, multiprocessing-related logic;
>> PlatformCpuCountBugCheck: - guest OS data loss, including filesystem corruption, due to crash or
>> PlatformCpuCountBugCheck:   hang during ACPI S3 resume;
>> PlatformCpuCountBugCheck: - SMM privilege escalation, by a malicious guest OS or 3rd partty UEFI
>> PlatformCpuCountBugCheck:   agent, against the platform firmware.
>> PlatformCpuCountBugCheck: These symptoms need not necessarily be limited to the QEMU user
>> PlatformCpuCountBugCheck: attempting to hot(un)plug a CPU.
>> PlatformCpuCountBugCheck: The firmware will now stop (hang) deliberately, in order to prevent the
>> PlatformCpuCountBugCheck: above symptoms.
>> PlatformCpuCountBugCheck: You can forcibly override the hang, *at your own risk*, with the
>> PlatformCpuCountBugCheck: following *experimental* QEMU command line option:
>> PlatformCpuCountBugCheck:   -fw_cfg name=opt/org.tianocore/X-Cpuhp-Bugcheck-Override,string=yes
>> PlatformCpuCountBugCheck: Please only report such bugs that you can reproduce *without* the
>> PlatformCpuCountBugCheck: override.
>> Select Item: 0x19
>> ASSERT d:\a\1\s\OvmfPkg\Library\PlatformInitLib\Platform.c(520): ((BOOLEAN)(0==1))
> 
> The "PlatformCI_OvmfPkg_Ubuntu_GCC5_PR" checks succed, probably due to
> edk2 commits ef0916009843 ("CI: Use Fedora 35 container (Linux only)",
> 2023-01-17) and 7fab007f33e9 ("OvmfPkg: CI: Use Fedora 35 container
> (Linux only)", 2023-01-17), and due to
> <https://github.com/tianocore/containers/commit/47addc9a4f20> applying
> the upstream QEMU patch.
> 
> Laszlo
> 
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Brijesh Singh <brijesh.singh@amd.com>
> Cc: Erdem Aktas <erdemaktas@google.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: James Bottomley <jejb@linux.ibm.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Michael Brown <mcb30@ipxe.org>
> Cc: Min Xu <min.m.xu@intel.com>
> Cc: Oliver Steffen <osteffen@redhat.com>
> Cc: Sebastien Boeuf <sebastien.boeuf@intel.com>
> Cc: Tom Lendacky <thomas.lendacky@amd.com>
> 
> Laszlo Ersek (2):
>   OvmfPkg/PlatformInitLib: factor out PlatformCpuCountBugCheck()
>   OvmfPkg/PlatformInitLib: catch QEMU's CPU hotplug reg block regression
> 
>  OvmfPkg/Library/PlatformInitLib/Platform.c | 168 +++++++++++++++++---
>  1 file changed, 145 insertions(+), 23 deletions(-)
> 

Merged as the last two commits in range 51411435d559..bf5678b58026, via
<https://github.com/tianocore/edk2/pull/3935>.

Laszlo



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#98922): https://edk2.groups.io/g/devel/message/98922
Mute This Topic: https://groups.io/mt/96374972/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v3 0/2] OvmfPkg/PlatformInitLib: catch QEMU's CPU hotplug reg block regression
Posted by Gerd Hoffmann 1 year, 3 months ago
On Thu, Jan 19, 2023 at 12:01:29PM +0100, Laszlo Ersek wrote:
> Repo:       https://pagure.io/lersek/edk2.git
> Branch:     cpuhp-reg-catch-4250-v3
> Test build: https://github.com/tianocore/edk2/pull/3930
> Bugzilla:   https://bugzilla.tianocore.org/show_bug.cgi?id=4250

Having the quirks contained in the new PlatformCpuCountBugCheck()
is a nice cleanup.

Series:
Acked-by: Gerd Hoffmann <kraxel@redhat.com>

thanks & take care,
  Gerd



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#98895): https://edk2.groups.io/g/devel/message/98895
Mute This Topic: https://groups.io/mt/96374972/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH v3 0/2] OvmfPkg/PlatformInitLib: catch QEMU's CPU hotplug reg block regression
Posted by Michael Brown 1 year, 3 months ago
On 19/01/2023 11:01, Laszlo Ersek wrote:
>> PlatformCpuCountBugCheck: Present=0 Possible=1
>> PlatformCpuCountBugCheck: Broken CPU hotplug register block found. Update QEMU to version 8+, or
>> PlatformCpuCountBugCheck: to a stable release with commit dab30fbef389 backported. Refer to
>> PlatformCpuCountBugCheck: <https://bugzilla.tianocore.org/show_bug.cgi?id=4250>.
>> PlatformCpuCountBugCheck: Consequences of the QEMU bug may include, but are not limited to:
>> PlatformCpuCountBugCheck: - all firmware logic, dependent on the CPU hotplug register block,
>> PlatformCpuCountBugCheck:   being confused, for example, multiprocessing-related logic;
>> PlatformCpuCountBugCheck: - guest OS data loss, including filesystem corruption, due to crash or
>> PlatformCpuCountBugCheck:   hang during ACPI S3 resume;
>> PlatformCpuCountBugCheck: - SMM privilege escalation, by a malicious guest OS or 3rd partty UEFI
>> PlatformCpuCountBugCheck:   agent, against the platform firmware.
>> PlatformCpuCountBugCheck: These symptoms need not necessarily be limited to the QEMU user
>> PlatformCpuCountBugCheck: attempting to hot(un)plug a CPU.
>> PlatformCpuCountBugCheck: The firmware will now stop (hang) deliberately, in order to prevent the
>> PlatformCpuCountBugCheck: above symptoms.
>> PlatformCpuCountBugCheck: You can forcibly override the hang, *at your own risk*, with the
>> PlatformCpuCountBugCheck: following *experimental* QEMU command line option:
>> PlatformCpuCountBugCheck:   -fw_cfg name=opt/org.tianocore/X-Cpuhp-Bugcheck-Override,string=yes
>> PlatformCpuCountBugCheck: Please only report such bugs that you can reproduce *without* the
>> PlatformCpuCountBugCheck: override.

Laszlo: thank you for taking the time to deal with this so thoroughly 
and to see it through to its conclusion.

For what it's worth:

Hugely-appreciated-by: Michael Brown <mcb30@ipxe.org>

Thanks,

Michael



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#98892): https://edk2.groups.io/g/devel/message/98892
Mute This Topic: https://groups.io/mt/96374972/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-