[Bug 224069] (Fix included) Use of uninitalized register value in vesa.ko, causing X, text console and suspend/resume to fail

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Dec 3 23:58:26 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224069

            Bug ID: 224069
           Summary: (Fix included) Use of uninitalized register value in
                    vesa.ko, causing X, text console and suspend/resume to
                    fail
           Product: Base System
           Version: 11.1-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: sblachmann at gmail.com

PROBLEMS:
-Switching between X and text console fails, screen is garbled or no video at
all
-Resuming after suspend results either in garbled or no video at all

ANALYSYS:
As I was getting annoyed by so many people affected by the buggy vesa.ko, and
felt frustrated that these problems with X, particulartly switching between X
and text console and the failure of suspend/resume to restore the screen, I
finally took a look into vesa.ko and found immediately a thing very wrong.

In line 515 of /usr/src/sys/dev/fb/vesa.c you see this:
  /* regs.R_DL = STATE_SIZE; */

The DL register contains the subfunction of the BIOS call retrieving the buffer
size. It must not be undefined, as it is unpredictable which subfunction will
get called.

Thus I wish I knew who has commented out that line for what reason.
I think this justifies an explanation.
Because, the commenting out of this line caused all these problems, which have
done big damage to FreeBSD's reputation regarding its usability as desktop OS.


FIX:
Uncomment that line.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list