[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