Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753748AbbG2Rup (ORCPT ); Wed, 29 Jul 2015 13:50:45 -0400 Received: from mail-la0-f53.google.com ([209.85.215.53]:34349 "EHLO mail-la0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753630AbbG2Run (ORCPT ); Wed, 29 Jul 2015 13:50:43 -0400 MIME-Version: 1.0 In-Reply-To: References: <1438148483-11932-1-git-send-email-brgerst@gmail.com> <1438148483-11932-5-git-send-email-brgerst@gmail.com> From: Andy Lutomirski Date: Wed, 29 Jul 2015 10:50:22 -0700 Message-ID: Subject: Re: [PATCH 4/8] x86/vm86: Use the normal pt_regs area for vm86 To: Linus Torvalds Cc: Brian Gerst , X86 ML , "linux-kernel@vger.kernel.org" , Ingo Molnar , "H. Peter Anvin" , Denys Vlasenko 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: 1538 Lines: 30 On Wed, Jul 29, 2015 at 10:47 AM, Linus Torvalds wrote: > On Wed, Jul 29, 2015 at 10:36 AM, Brian Gerst wrote: >> >> I think I remember now what the issue was. Since entering vm86 mode >> uses force_iret(), the work_pending code path was being taken. I had >> to move the call to save_v86_state out of here to handle_signal(), >> otherwise it would just restore the 32-bit regs and exit the syscall >> without ever entering vm86 mode. But that meant that the test for >> kernel CS was seeing the vm86 regs instead of 32-bit regs, and was >> failing because it didn't account for the VM bit (if the real-mode CS >> looked like RPL 0). A fault would get stuck in a loop because it >> couldn't exit to the signal handling code. > > Hmm. I think we'd want a big comment about that code then, and how it > is only used for user-space (including vm86 mode). I think that a very tiny comment might be sufficient, because I'm planning to resubmit my patch series that removes all the work_xyz asm entirely as soon as Brian's patches land in -tip :) I've just been waiting for v86 mode to GTFO of the asm loop so the rest could be done in C. I had a small patch to deal with vm86, but Brian's is much better, so I decided to hold off. --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/