Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758312AbbGHTEy (ORCPT ); Wed, 8 Jul 2015 15:04:54 -0400 Received: from mail-lb0-f171.google.com ([209.85.217.171]:35527 "EHLO mail-lb0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751676AbbGHTEp (ORCPT ); Wed, 8 Jul 2015 15:04:45 -0400 MIME-Version: 1.0 In-Reply-To: References: <23d4709cee2fe92c32d41b99c7a3c1823725925a.1436312944.git.luto@kernel.org> <559C8BFE.6050604@linux.intel.com> From: Andy Lutomirski Date: Wed, 8 Jul 2015 12:04:24 -0700 Message-ID: Subject: Re: [PATCH] x86/kconfig/32: Mark CONFIG_VM86 as BROKEN To: Kees Cook Cc: Linus Torvalds , Arjan van de Ven , Andy Lutomirski , "the arch/x86 maintainers" , Linux Kernel Mailing List , Oleg Nesterov , Peter Zijlstra , Borislav Petkov Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2316 Lines: 54 On Wed, Jul 8, 2015 at 11:48 AM, Kees Cook wrote: > On Wed, Jul 8, 2015 at 10:55 AM, Linus Torvalds > wrote: >> On Wed, Jul 8, 2015 at 10:49 AM, Andy Lutomirski wrote: >>> >>> I don't know how to tell whether something is trying to use real mode, >>> but I can play this just fine in DOSEMU on my 64-bit laptop: >> >> So a 64-bit distro obviously will never have used vm86 mode - it >> doesn't work there. Never has. There's no sane way to get to vm86 mode >> from long mode, that's just how the 64-bit extensions worked. >> >> (64-bit hardware obviously does support vm86 mode, but you have to >> play games with mixing long mode and CPL0 32-bit protected mode to get >> there, and we never did that). >> >> It's the 32-bit distros I would worry about. The ones that may have >> well disabled emulation, because they have vm86 mode enabled. > > Speaking as the dosemu maintainer in Debian and Ubuntu, I can confirm > what Andy mentioned: dosemu will kick over to emulation if SYS_vm86 > and SYS_vm86old fail. The other area I remember that used vm86 mode > was non-KMS Xorg drivers and anything using svgalib that tried to do > video card BIOS initialization. Adam Jackson said on the Fedora list that everything uses x86emu these days. And haven't modern kernels already dropped most of the UMS support already? > > Also, Andy, I think you weren't looking at i386 builds of Ubuntu. > Current Ubuntu, and 12.04 ("Precise") LTS (supported until 2017), and > 14.04 LTS (until 2019) releases all have CONFIG_VM86. Hmm. I was going off something someone said an IRC. Apparently I should have double-checked. If you have a test system easily available, can you see what happens if you try to do: $ sudo auditctl -e 1 $ sudo auditctl -D # just in case you had a "-a task,never" rule installed $ dosemu on a system with CONFIG_VM86=y? I bet it fails. Maybe it gets lucky due to the the bogus vm86 asm code managing to explode with eax=-ENOSYS, triggering a fallback to emulation. --Andy -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/