Re: [tip:x86/asm] x86/umip: Add emulation code for UMIP instructions

From: Ricardo Neri
Date: Thu Nov 09 2017 - 01:19:25 EST


On Wed, Nov 08, 2017 at 06:14:12PM +0100, Paolo Bonzini wrote:
> On 08/11/2017 18:09, Denys Vlasenko wrote:
> > On 11/08/2017 05:57 PM, Linus Torvalds wrote:
> >> On Wed, Nov 8, 2017 at 8:53 AM, Denys Vlasenko <dvlasenk@xxxxxxxxxx>
> >> wrote:
> >>> We can postpone enabling UMIP by default by a year or so.
> >>> By this time, new Wine will be on majority of users' machines.
> >>
> >> So you are suggesting we run unnecessarily insecure, only in order to
> >> not do the emulation that we already have the code for and that the
> >> patch implements?
> >
> > We ran insecure in this way for ~25 years.
> >
> >> Why?
> >
> > To avoid having to maintain more obscure, rarely executed code.
>
> As a start, you could propose a patch to disable the emulation code
> through a sysctl or Kconfig symbol. I would be surprised if it takes
> more time than what you've spent writing emails in this thread.

Indeed, Andy Lutomirski suggested something similar in the past, but as a
separate series [1].

Plus, the Wine team was also interested in receiving the SIGSEGV that UMIP
would generate, but also acknowledged that it would break existing
versions[2].

Thanks and BR,
Ricardo

[1]. https://lkml.org/lkml/2017/3/8/735
[2]. https://www.winehq.org/pipermail/wine-devel/2016-November/115321.html