grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/1] efi/gop: require shadow if PixelBltOnly


From: Heinrich Schuchardt
Subject: [PATCH 1/1] efi/gop: require shadow if PixelBltOnly
Date: Mon, 28 Aug 2023 23:50:09 +0200

If the EFI graphics pixel format is PixelBltOnly, we cannot write directly
to the frame buffer. We need the shadow frame buffer which we copy via
the BitBlt operation to the hardware.

If the pixel format is PixelBltOnly and allocation of the shadow frame
buffer fails, we must raise an error to signal that the EFI GOP protocol is
not usable.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
---
 grub-core/video/efi_gop.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
index 7247aeea7..09ee71b45 100644
--- a/grub-core/video/efi_gop.c
+++ b/grub-core/video/efi_gop.c
@@ -480,6 +480,10 @@ grub_video_gop_setup (unsigned int width, unsigned int 
height,
   if (!buffer)
     {
       grub_dprintf ("video", "GOP: couldn't allocate shadow\n");
+      if (info->pixel_format == GRUB_EFI_GOT_BLT_ONLY)
+        {
+          return grub_error (GRUB_ERR_OUT_OF_MEMORY, N_("out of memory"));
+        }
       grub_errno = 0;
       grub_video_gop_fill_mode_info (gop->mode->mode, info,
                                     &framebuffer.mode_info);
-- 
2.40.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]