[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ddcf5ab1-31e4-8f64-ca75-179a6934bcb2@list.ru>
Date: Sat, 11 Mar 2017 00:37:19 +0300
From: Stas Sergeev <stsp@...t.ru>
To: Andy Lutomirski <luto@...capital.net>
Cc: Andy Lutomirski <luto@...nel.org>,
Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>,
Ingo Molnar <mingo@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
"H. Peter Anvin" <hpa@...or.com>, Borislav Petkov <bp@...e.de>,
Peter Zijlstra <peterz@...radead.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Brian Gerst <brgerst@...il.com>,
Chris Metcalf <cmetcalf@...lanox.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Paolo Bonzini <pbonzini@...hat.com>,
Masami Hiramatsu <mhiramat@...nel.org>,
Huang Rui <ray.huang@....com>, Jiri Slaby <jslaby@...e.cz>,
Jonathan Corbet <corbet@....net>,
"Michael S. Tsirkin" <mst@...hat.com>,
Paul Gortmaker <paul.gortmaker@...driver.com>,
Vlastimil Babka <vbabka@...e.cz>,
Chen Yucong <slaoub@...il.com>,
Alexandre Julliard <julliard@...ehq.org>,
Fenghua Yu <fenghua.yu@...el.com>,
"Ravi V. Shankar" <ravi.v.shankar@...el.com>,
Shuah Khan <shuah@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
X86 ML <x86@...nel.org>, linux-msdos@...r.kernel.org,
wine-devel@...ehq.org
Subject: Re: [v6 PATCH 00/21] x86: Enable User-Mode Instruction Prevention
11.03.2017 00:04, Andy Lutomirski пишет:
> On Fri, Mar 10, 2017 at 2:30 AM, Stas Sergeev <stsp@...t.ru> wrote:
>> 10.03.2017 05:41, Andy Lutomirski пишет:
>>
>>> On Wed, Mar 8, 2017 at 5:11 PM, Ricardo Neri
>>> <ricardo.neri-calderon@...ux.intel.com> wrote:
>>>> On Wed, 2017-03-08 at 19:53 +0300, Stas Sergeev wrote:
>>>>> 08.03.2017 19:46, Andy Lutomirski пишет:
>>>>>>> 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.
>>>>>> That's what I meant. Turning off FIXUP_UMIP would leave UMIP on but
>>>>>> turn off the fixup, so you'd get a SIGSEGV indicating #GP (or a vm86
>>>>>> GP exit).
>>>>> But then I am confused with the word "compat" in
>>>>> your "COMPAT_MASK0_X86_UMIP_FIXUP" and
>>>>> "sys_adjust_compat_mask(int op, int word, u32 mask);"
>>>>>
>>>>> Leaving UMIP on and only disabling a fixup doesn't
>>>>> sound like a compat option to me. I would expect
>>>>> compat to disable it completely.
>>>> I guess that the _UMIP_FIXUP part makes it clear that emulation, not
>>>> UMIP is disabled, allowing the SIGSEGV be delivered to the user space
>>>> program.
>>>>
>>>> Would having a COMPAT_MASK0_X86_UMIP_FIXUP to disable emulation and a
>>>> COMPAT_MASK0_X86_UMIP to disable UMIP make sense?
>>>>
>>>> Also, wouldn't having a COMPAT_MASK0_X86_UMIP to disable UMIP defeat its
>>>> purpose? Applications could simply use this compat mask to bypass UMIP
>>>> and gain access to the instructions it protects.
>>>>
>>> I was obviously extremely unclear. The point of the proposed syscall
>>> is to let programs opt out of legacy features.
>> I guess both "compat" and "legacy" are misleading
>> here. Maybe these are "x86-specific" or "hypervisor-specific",
>> but a mere enabling of UMIP doesn't immediately make
>> the use of SLDT instruction a legacy IMHO.
> Sure it is. :) Using SLDT from user mode is a legacy ability that
> just happens to still work on existing CPUs and kernels. Once UMIP
> goes in, it will officially be obsolete
Yes, but the names you suggest, imply that "UMIP_FIXUP"
is legacy or compat, which I find misleading because it have
just appeared. Maybe something like "COMPAT_X86_UMIP_INSNS_EMU"?
Powered by blists - more mailing lists