Re: [v6 PATCH 00/21] x86: Enable User-Mode Instruction Prevention

Stas Sergeev
2017-03-10T23:58:36Z

11.03.2017 02:47, Ricardo Neri пишет:
>>
>>>> It doesn't need to be a matter of this particular
>>>> patch set, i.e. this proposal should not trigger a
>>>> v7 resend of all 21 patches. :) But it would be useful
>>>> for the future development of dosemu2.
>>> Would dosemu2 use 32-bit processes in order to keep segmentation? If it
>>> could use 64-bit processes, emulation is not used in this case and the
>>> SIGSEGV is delivered to user space.
>> It does use the mix: 64bit process but some segments
>> are 32bit for DOS code.
> Do you mean that dosemu2 will start as a 64-bit process and will jump to
> 32-bit code segments?
Yes, so the offending insns are executed only in 32bit
and 16bit segments, even if the process itself is 64bit.
I guess you handle 16bit segments same as 32bit ones.

> My emulation code should work in this case as it
> will use segmentation in 32-bit code descriptors. Is there anything else
> needed?
If I understand you correctly, you are saying that SLDT
executed in 64bit code segment, will inevitably segfault
to userspace. If this is the case and it makes your code
simpler, then its perfectly fine with me as dosemu does
not do this and the 64bit DOS progs are not anticipated.