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

From: H. Peter Anvin
Date: Sat Apr 01 2017 - 14:05:32 EST


<x86@xxxxxxxxxx>,linux-msdos@xxxxxxxxxxxxxxx,wine-devel@xxxxxxxxxx
From: hpa@xxxxxxxxx
Message-ID: <3FD12652-AA83-4D73-9914-BBA089E58FFA@xxxxxxxxx>

On April 1, 2017 6:08:43 AM PDT, Stas Sergeev <stsp@xxxxxxx> wrote:
>30.03.2017 08:14, Ricardo Neri ÐÐÑÐÑ:
>>>>>>> You know the wine's
>>>>>>> requirements now - they are very small. And
>>>>>>> dosemu doesn't need anything at all but smsw.
>>>>>>> And even smsw is very rare.
>>>>>> But emulation is still needed for SMSW, right?
>>>>> Likely so.
>>>>> If you want, I can enable the logging of this command
>>>>> and see if it is used by some of the DOS programs I have.
>>>> It would be great if you could do that, if you don't mind.
>>> OK, scheduled to the week-end.
>>> I'll let you know.
>> Thanks!
>OK, done the testing.
>It appears smsw is used in v86 by windows-3.1 and dos4gw
>at the very least, and these are the "major" apps. So doing
>without a fixup in v86 will not go unnoticed. Unfortunately
>this also means that KVM-vm86 should be properly tested.
>I have also found a weird program that does SGDT under
>v86. This causes "ERROR: SGDT not implemented" under
>dosemu, but the prog still works fine as it obviously does
>not care about the results. This app can easily be broken
>of course, if that makes any sense (likely not).

Using SMSW to detect v86 mode is relatively common. pushf hides the VM flag, but SMSW is available, providing the v86 virtualization hole.
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.