audk/OvmfPkg/QemuVideoDxe
Dimitrije Pavlov 19cbfaa431 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>
2022-08-01 20:34:21 +00:00
..
ComponentName.c OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Driver.c OvmfPkg/QemuVideoDxe: simplify InitializeBochsGraphicsMode 2022-01-29 17:04:21 +00:00
Gop.c OvmfPkg/QemuVideoDxe: Zero out PixelInformation in QueryMode 2022-08-01 20:34:21 +00:00
Initialize.c OvmfPkg/QemuVideoDxe: parse edid blob, detect display resolution 2022-01-29 17:04:21 +00:00
Qemu.h OvmfPkg/QemuVideoDxe: parse edid blob, detect display resolution 2022-01-29 17:04:21 +00:00
QemuVideoDxe.inf OvmfPkg/QemuVideoDxe: parse edid blob, detect display resolution 2022-01-29 17:04:21 +00:00
VbeShim.asm OvmfPkg/Qemu: Fix various typos 2020-02-10 22:30:07 +00:00
VbeShim.c OvmfPkg/Microvm/pcie: no vbeshim please 2022-06-03 09:06:44 +00:00
VbeShim.h OvmfPkg: Revert Uncrustify formatting in VbeShim.h files 2022-04-04 15:18:31 +00:00
VbeShim.sh OvmfPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:19 -07:00