[v2 5/7] x86: Add emulation code for UMIP instructions

Ricardo Neri ricardo.neri-calderon at linux.intel.com
Tue Jan 3 19:30:07 CST 2017


On Fri, 2016-12-30 at 18:07 -0800, Andy Lutomirski wrote:
> On Thu, Dec 29, 2016 at 9:23 PM, Ricardo Neri
> <ricardo.neri-calderon at linux.intel.com> wrote:
> > On Tue, 2016-12-27 at 16:48 -0800, Andy Lutomirski wrote:
> >>
> >> >> > +               if (nr_copied  > 0)
> >> >> > +                       return -EFAULT;
> >> >>
> >> >> This should be the only EFAULT case.
> >> > Should this be EFAULT event if the caller cares only about successful
> >> > (return 0) vs failed (return non-0) emulation?
> >>
> >> In theory this particular error would be a page fault not a general
> >> protection fault (in the UMIP off case).  If you were emulating it
> >> extra carefully, you could change the signal accordingly.  But, as I
> >> said, I really doubt this matters.
> >
> > If simple enough and for the sake of accuracy, I could try to issue the
> > page fault. It seems to me that this entitles calling
> > force_sig_info_fault in this particular case as opposed to the
> > force_sig_info(SIGSEGV, SEND_SIG_PRIV, tsk) that do_general_protection
> > calls.
> 
> Sure.  You could even do it by sending the signal in the emulation
> code and returning true.

Will do.

Thanks!
Ricardo
> 
> --Andy





More information about the wine-devel mailing list