]> git.proxmox.com Git - mirror_edk2.git/commit - OvmfPkg/QemuVideoDxe/Gop.c
OvmfPkg/QemuVideoDxe: Zero out PixelInformation in QueryMode
authorDimitrije Pavlov <Dimitrije.Pavlov@arm.com>
Thu, 28 Jul 2022 21:30:42 +0000 (16:30 -0500)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 1 Aug 2022 20:34:21 +0000 (20:34 +0000)
commit19cbfaa4319edabf5feb4e9d867f042c2d5e72b6
treef5f02091086ce4de94b071c54f13001b45de8cd8
parent6f4e10d6db316c279ed90036c9a206a1b89f0878
OvmfPkg/QemuVideoDxe: Zero out PixelInformation in QueryMode

Ensure that the PixelInformation field of the
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION structure is zeroed out in
EFI_GRAPHICS_OUTPUT_PROTOCOL.QueryMode() and
EFI_GRAPHICS_OUTPUT_PROTOCOL.SetMode() when PixelFormat is
PixelBlueGreenRedReserved8BitPerColor.

According to UEFI 2.9 Section 12.9, PixelInformation field of the
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION structure is valid only if
PixelFormat is PixelBitMask. This means that firmware is not required
to fill out the PixelInformation field for other PixelFormat types,
which implies that the QemuVideoDxe implementation is technically
correct.

However, not zeroing out those fields will leak the contents of the
memory returned by the memory allocator, so it is better to explicitly
set them to zero.

In addition, the SCT test suite relies on PixelInformation always
having a consistent value, which causes failures.

Signed-off-by: Dimitrije Pavlov <Dimitrije.Pavlov@arm.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
OvmfPkg/QemuVideoDxe/Gop.c