Re: [PATCH 0/4] x86: enable User-Mode Instruction Prevention

From: Andy Lutomirski
Date: Tue Nov 08 2016 - 10:34:28 EST


On Tue, Nov 8, 2016 at 5:16 AM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Mon, Nov 07, 2016 at 10:12:09PM -0800, Ricardo Neri wrote:
>> There is a caveat, however. Certain applications running in virtual-8086
>> mode, such as DOSEMU[1] and Wine[2], want to utilize the SGDT, SIDT and
>> SLDT instructions for legitimate reasons. In order to keep such
>> applications working, UMIP must be disabled/enabled when entering/exiting
>> virtual-8086 mode.
>
> Would it not be better to emulate these instructions for them? What way
> we can verify they're not malicious.

Forget malice -- if they are really needed for some silly vm86-using
program, let's trap them and emulate them so they return dummy values.

Also, keep in mind that vm86 is already effectively gated behind a
sysctl for non-root. I think the default should be that, if root has
enabled vm86, it should work.

--Andy

--
Andy Lutomirski
AMA Capital Management, LLC