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

------------------------------------------------------------------------------