Subject: Re: 2nd review of fixes to sig_return() and LDT's
To: John Brezak <brezak@apollo.hp.com>
From: Chris G. Demetriou <cgd@nobozo.CS.Berkeley.EDU>
List: port-i386
Date: 01/07/1994 22:13:32
[ i don't even want to know what mh did to this, the last time i sent it... ]
> > > /* compare IOPL; we can't insist that it's always 3 or the X server
> > > will fail */
> > > ! if ((tf->tf_eflags & PSL_IOPL) < (scp->sc_efl & PSL_IOPL)) {
> > > ! trapsignal(p, SIGBUS, T_PROTFLT);
> > > return(EINVAL);
> > > + }
> >
> > The process status longword is would raise the process's privilege.
> > man page says "return EINVAL." (i.e. don't signal)
> Ok, but this is a 386 specific thing.
no it isn't. it's as i386-specific as trying to set the supervisor
bit on the m68k family of machines, or trying to set your access level
on an '020/'851 combo. It's a generic case, even though this
expression is i386-specific.
> > They're trying to do something "strange and evil" to the CPU.
> > Strange and evil processes must be stopped! But, if they're stopped,
> > they can be restarted. So... HIT IT WITH A BUS! 8-)
>
> So this is right now case is right now ?
with respect to the error handling, yes. in terms of actually dealing
with bogus LDT's, i've got no idea. 8-)
chris
------------------------------------------------------------------------------