Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751608AbdDBPxQ (ORCPT ); Sun, 2 Apr 2017 11:53:16 -0400 Received: from mail-vk0-f54.google.com ([209.85.213.54]:35706 "EHLO mail-vk0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751229AbdDBPxO (ORCPT ); Sun, 2 Apr 2017 11:53:14 -0400 MIME-Version: 1.0 In-Reply-To: <201704011750.v31Ho5q2028383@mail.zytor.com> References: <20170308003254.27833-1-ricardo.neri-calderon@linux.intel.com> <79ba0fff-4c01-2bfa-06cb-5cfc98dd710c@list.ru> <997ba581-ecfa-b773-a48e-85b92a439836@list.ru> <1489022122.131264.33.camel@ranerica-desktop> <63231222-5b42-c8c9-02f0-0afbe702d8b5@list.ru> <1489190396.131264.47.camel@ranerica-desktop> <6331deea-e9b0-fcfe-b75d-8100f37a615a@list.ru> <1490658399.2647.14.camel@ranerica-desktop> <1490762284.2647.24.camel@ranerica-desktop> <2a9c7bfd-e85c-2673-d3b5-906fe7dd8db4@list.ru> <1490850848.2647.28.camel@ranerica-desktop> <6ec5ae47-42a8-7ed8-ec25-97350de15b21@list.ru> <201704011750.v31Ho5q2028383@mail.zytor.com> From: Andy Lutomirski Date: Sun, 2 Apr 2017 08:52:52 -0700 Message-ID: Subject: Re: [v6 PATCH 00/21] x86: Enable User-Mode Instruction Prevention To: "H. Peter Anvin" Cc: Stas Sergeev , Ricardo Neri , Ingo Molnar , Thomas Gleixner , Andy Lutomirski , Borislav Petkov , Peter Zijlstra , Andrew Morton , Brian Gerst , Chris Metcalf , Dave Hansen , Paolo Bonzini , Liang Z Li , Masami Hiramatsu , Huang Rui , Jiri Slaby , Jonathan Corbet , "Michael S. Tsirkin" , Paul Gortmaker , Vlastimil Babka , Chen Yucong , Alexandre Julliard , Fenghua Yu , "Ravi V. Shankar" , Shuah Khan , "linux-kernel@vger.kernel.org" , X86.ML@zytor.com Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v32FrVng011443 Content-Length: 1831 Lines: 38 On Sat, Apr 1, 2017 at 10:49 AM, H. Peter Anvin wrote: > ,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 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. I think we should emulate all the instructions (as documented in the SDM, so things that #UD in v86 mode still do so) rather than trying to be clever. If we're clever and we get it wrong, we might discover that something started depending on our cleverness in the mean time. --Andy