From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751173AbdDDGI2 convert rfc822-to-8bit (ORCPT ); Tue, 4 Apr 2017 02:08:28 -0400 Received: from wine.codeweavers.com ([209.46.25.134]:49970 "EHLO winehq.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751005AbdDDGI1 (ORCPT ); Tue, 4 Apr 2017 02:08:27 -0400 From: Alexandre Julliard To: Ricardo Neri Cc: Stas Sergeev , Andy Lutomirski , Ingo Molnar , Thomas Gleixner , "H. Peter Anvin" , Andy Lutomirski , Borislav Petkov , Peter Zijlstra , Andrew Morton , Brian Gerst , Chris Metcalf , Dave Hansen , Paolo Bonzini , Masami Hiramatsu , Huang Rui , Jiri Slaby , Jonathan Corbet , "Michael S. Tsirkin" , Paul Gortmaker , Vlastimil Babka , Chen Yucong , Fenghua Yu , "Ravi V. Shankar" , Shuah Khan , "linux-kernel\@vger.kernel.org" , X86 ML , linux-msdos@vger.kernel.org, wine-devel@winehq.org Subject: Re: [v6 PATCH 00/21] x86: Enable User-Mode Instruction Prevention 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> <3f1f1632-ae64-34f7-70ef-d4f8091cd5c1@list.ru> <1490924035.2647.35.camel@ranerica-desktop> <87vaqppmc1.fsf@winehq.org> <1491271348.2647.69.camel@ranerica-desktop> Date: Tue, 04 Apr 2017 08:08:07 +0200 In-Reply-To: <1491271348.2647.69.camel@ranerica-desktop> (Ricardo Neri's message of "Mon, 03 Apr 2017 19:02:28 -0700") Message-ID: <87mvbwn1rs.fsf@winehq.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT X-Spam-Score: -2.9 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Ricardo Neri writes: > On Fri, 2017-03-31 at 16:11 +0200, Alexandre Julliard wrote: >> Ricardo Neri writes: >> >> > On Thu, 2017-03-30 at 13:10 +0300, Stas Sergeev wrote: >> >> 30.03.2017 08:14, Ricardo Neri пишет: >> >> In fact, smsw has an interesting property, which is that >> >> no one will ever want to disable its in-kernel emulation >> >> to provide its own. >> >> So while I'll try to estimate its usage, emulating it in kernel >> >> will not be that problematic in either case. >> > >> > Ah good to know! >> > >> >> As for protected mode, if wine only needs sgdt/sidt, then >> >> again, no one will want to disable its emulation. Not the >> >> case with sldt, but AFAICS wine doesn't need sldt, and so >> >> we can leave sldt without a fixups. Is my understanding >> >> correct? >> > >> > This is my understanding as well. I could not find any use of sldt in >> > wine. Alexandre, would you mind confirming? >> >> Some versions of the Themida software protection are known to use sldt >> as part of the virtual machine detection code [1]. The check currently >> fails because it expects the LDT to be zero, so the app is already >> broken, but sldt segfaulting would still cause a crash where there >> wasn't one before. >> >> However, I'm only aware of one application using this, and being able to >> catch and emulate sldt ourselves would actually give us a chance to fix >> this app in newer Wine versions, so I'm not opposed to having it >> segfault. > > Great! Then this is in line with what we are aiming to do with dosemu2: > not emulate str and sldt. >> >> In fact it would be nice to be able to make sidt/sgdt/etc. segfault >> too. I know a new syscall is a pain, but as far as Wine is concerned, >> being able to opt out from any emulation would be potentially useful. > > I see. I guess for now there should not be a problem with emulating > sidt/sgdt/smsw, right? In this way we don't break current versions of > winehq and programs using it. In a phase two we can introduce the > syscall so that kernel fixups can be disabled. Does this make sense? Yes, that makes sense. -- Alexandre Julliard julliard@winehq.org