Date: Sun, 17 Sep 2000 13:17:31 -0400 (EDT) From: Jonathan Chen <jon@spock.org> To: FreeBSD-gnats-submit@freebsd.org Subject: i386/21329: change to allow vm86 interrupt calls from userland Message-ID: <200009171717.e8HHHVa70853@spock.org>
next in thread | raw e-mail | index | archive | help
>Number: 21329
>Category: i386
>Synopsis: change to allow vm86 interrupt calls from userland
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Sep 17 10:20:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: Jonathan Chen
>Release: FreeBSD 4.1-STABLE i386
>Organization:
>Environment:
>Description:
VM86 intcalls was disabled at the initial commit -- this would be nice to
have since the only way I know how to get my video card (Savage/IX) to do
X properly is through VM86 VESA int 10 calls.
>How-To-Repeat:
>Fix:
Index: vm86.c
===================================================================
RCS file: /export/ncvs/src/sys/i386/i386/vm86.c,v
retrieving revision 1.31
diff -u -r1.31 vm86.c
--- vm86.c 1999/10/29 18:08:35 1.31
+++ vm86.c 2000/09/17 06:58:08
@@ -701,18 +701,18 @@
}
break;
-#if 0
case VM86_INTCALL: {
struct vm86_intcall_args sa;
- if (error = copyin(ua.sub_args, &sa, sizeof(sa)))
+ if (p->p_cred->pc_ucred->cr_uid != 0) return EPERM;
+
+ if ((error = copyin(ua.sub_args, &sa, sizeof(sa))))
return (error);
- if (error = vm86_intcall(sa.intnum, &sa.vmf))
+ if ((error = vm86_intcall(sa.intnum, &sa.vmf)))
return (error);
error = copyout(&sa, ua.sub_args, sizeof(sa));
}
break;
-#endif
default:
error = EINVAL;
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200009171717.e8HHHVa70853>
