Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754296AbdCHWUF (ORCPT ); Wed, 8 Mar 2017 17:20:05 -0500 Received: from fallback9.m.smailru.net ([94.100.178.49]:34474 "EHLO fallback9.m.smailru.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751735AbdCHWTr (ORCPT ); Wed, 8 Mar 2017 17:19:47 -0500 X-Greylist: delayed 20852 seconds by postgrey-1.27 at vger.kernel.org; Wed, 08 Mar 2017 17:19:46 EST Subject: Re: [v6 PATCH 00/21] x86: Enable User-Mode Instruction Prevention To: Andy Lutomirski References: <20170308003254.27833-1-ricardo.neri-calderon@linux.intel.com> <79ba0fff-4c01-2bfa-06cb-5cfc98dd710c@list.ru> Cc: Ricardo Neri , Ingo Molnar , Thomas Gleixner , "H. Peter Anvin" , 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 , linux-msdos@vger.kernel.org, wine-devel@winehq.org From: Stas Sergeev Message-ID: <997ba581-ecfa-b773-a48e-85b92a439836@list.ru> Date: Wed, 8 Mar 2017 19:29:31 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-7FA49CB5: 0D63561A33F958A54DFD140ADEDE3D4B83EB63B4176FF930D5F8135A0550826E9F18ECD7E95F35E929AFE063DF4C541C2C590B1D727D17C2199DD995DAB0DCAB0BF2EBBBDD9D6B0F700B7D52D678FF46 X-Mailru-Sender: F1845AB6CCC9920DF7838D61D4D05C4291FB86AC086849E659C8969F7C4701D2292FF171D56795EF1653177920737CA72999BEE114A20FF4278B2D54D4112F244F0A872F021F905956A8FB0C6EBA5FCCEAB4BC95F72C04283CDA0F3B3F5B9367 X-Mras: OK X-Mras: OK Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1936 Lines: 40 08.03.2017 19:06, Andy Lutomirski пишет: > On Wed, Mar 8, 2017 at 6:08 AM, Stas Sergeev wrote: >> 08.03.2017 03:32, Ricardo Neri пишет: >>> These are the instructions covered by UMIP: >>> * SGDT - Store Global Descriptor Table >>> * SIDT - Store Interrupt Descriptor Table >>> * SLDT - Store Local Descriptor Table >>> * SMSW - Store Machine Status Word >>> * STR - Store Task Register >>> >>> This patchset initially treated tasks running in virtual-8086 mode as a >>> special case. However, I received clarification that DOSEMU[8] does not >>> support applications that use these instructions. > Can you remind me what was special about it? It looks like you still > emulate them in v8086 mode. Indeed, sorry, I meant prot mode here. :) So I wonder what was cited to be special about v86. >> Yes, this is the case. >> But at least in the past there was an attempt to >> support SLDT as it is used by an ancient pharlap >> DOS extender (currently unsupported by dosemu1/2). >> So how difficult would it be to add an optional >> possibility of delivering such SIGSEGV to userspace >> so that the kernel's dummy emulation can be overridden? >> 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. > What I'd actually like to see is a totally separate patchset that adds > an inheritable (but reset on exec) per-task mask of legacy > compatibility features to disable. Maybe: > > sys_adjust_compat_mask(int op, int word, u32 mask); No no, since I meant prot mode, this is not what I need. I would never need to disable UMIP as to allow the prot mode apps to do SLDT. Instead it would be good to have an ability to provide a replacement for the dummy emulation that is currently being proposed for kernel. All is needed for this, is just to deliver a SIGSEGV.