mirror of
https://github.com/X11Libre/xserver.git
synced 2026-04-14 17:18:09 +00:00
Fix mach64 driver crash
Due to lack of iopl(3), mach64 driver crashes when ior(BUS_CNTL) is called. Since BUS_CNTL is out of the range 0x0000-0x03ff, ioperm(0, 1024, 1) is not sufficient and the ior() causes access violation. This patch reintroduce iopl(3) call in the function hwEnableIO(). Addresses: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110521 Fixes:a0f738a673("Fixed ioperm calls in hwEnableIO") Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp> Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2052> (cherry picked from commit3b39aebf98)
This commit is contained in:
committed by
Alan Coopersmith
parent
6e125d9c98
commit
3fd2b30c37
@@ -123,8 +123,8 @@ hwEnableIO(void)
|
||||
char *buf=NULL, target[5];
|
||||
FILE *fp;
|
||||
|
||||
if (ioperm(0, 1024, 1)) {
|
||||
ErrorF("xf86EnableIO: failed to enable I/O ports 0000-03ff (%s)\n",
|
||||
if (ioperm(0, 1024, 1) || iopl(3)) {
|
||||
ErrorF("xf86EnableIO: failed to enable I/O ports access (%s)\n",
|
||||
strerror(errno));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user