bug-grub
[Top][All Lists]
Advanced

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

[bug #59240] Enumerating VBE modes can abort halfway through


From: INVALID.NOREPLY
Subject: [bug #59240] Enumerating VBE modes can abort halfway through
Date: Fri, 9 Oct 2020 04:18:15 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0

URL:
  <https://savannah.gnu.org/bugs/?59240>

                 Summary: Enumerating VBE modes can abort halfway through
                 Project: GNU GRUB
            Submitted by: qwertial
            Submitted on: Fri 09 Oct 2020 08:18:13 AM UTC
                Category: User Interface
                Severity: Major
                Priority: 5 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
                 Release: 
                 Release: Git master
         Discussion Lock: Any
         Reproducibility: Every Time
         Planned Release: None

    _______________________________________________________

Details:

grub-core/video/i386/vbe.c:


  for (p = vbe_mode_list; *p != 0xFFFF; p++)
    {
      grub_vbe_get_video_mode_info (*p, &vbe_mode_info);
      if (grub_errno != GRUB_ERR_NONE)
        {
          /* Could not retrieve mode info, retreat.  */
          grub_errno = GRUB_ERR_NONE;
          break;
        }

      vbe2videoinfo (*p, &vbe_mode_info, &mode_info);
      if (hook (&mode_info, hook_arg))
        return 1;
    }
  return 0;


The break should have been a continue. Otherwise, GRUB will stop enumerating
VBE modes as soon as one 0x4f01 call returns failure. I happen to have a video
BIOS where the very first mode in the list returned from 0x4f00 (and a number
of modes that follow) does not actually work, but the video BIOS is otherwise
fully functional.

RBIL warns against this very situation in the entry covering the 0x4f00 call:

> not all of the video modes in the list of mode numbers may be
>   supported, e.g. if they require more memory than currently installed
>   or are not supported by the attached monitor.  Check any mode you
>   intend to use through AX=4F01h first.

So it should be expected that some modes may fail to work, but that has no
bearing on whether any subsequent modes will.




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?59240>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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