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

H. Peter Anvin
2017-04-01T17:49:56Z

<x86@kernel.org>,linux-msdos@vger.kernel.org,wine-devel@winehq.org
From: hpa@zytor.com
Message-ID: <3FD12652-AA83-4D73-9914-BBA089E58FFA@zytor.com>

On April 1, 2017 6:08:43 AM PDT, Stas Sergeev <stsp@list.ru> 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.