Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp6512191yba; Tue, 14 May 2019 08:45:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqzNS3v2b93Hi/nnvIchlom+jgAf+YnXgfgIrNfLJKJHcw6TV2BGtZj9WLrP4ww8d+M47teN X-Received: by 2002:a63:6e0b:: with SMTP id j11mr25645645pgc.291.1557848737311; Tue, 14 May 2019 08:45:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557848737; cv=none; d=google.com; s=arc-20160816; b=AH9+KyXpHmow1HueHGKItHjZ7/kdsuNP1/cfBn1//s5ZE0X+JXwVgM+oRNGN8t8iFS Rhdm9yCTS9aF6be1CYIWxEg549hnmS8MB6TrMbqcLeJ61dvY7YfKdC5ptVVEuTCcPW7L RplqVKhnu54rQ8SZzgSUOvcA4uMoO8W3p/c0oCWCjEdBhhXA97TujIzmBf3mKqkqatn+ C7uHPMuQUUJLYzKnfXdefdjMRZKnLExfuYqkrzDAvrcuQ6qC07dAUFGm02II74s0zoXq JWBfyOqFJHrDemUjXNpQzeBnRLcr0RBaZ71gRRA+HtoGGjQqNW6HD2XnqkctdntACErZ 93sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature; bh=v0nvVqgy68rs5XKTL1qS0XTg9vbvJX75DMTfHz65o7k=; b=TaeOE2P2Y4WNe/SoJxvgiUA5/4b64OFxs29QGRONZkR8pij0yDAhNr2GLs/uXUjKnO 2YA0soRwXBmm0e+V94z7jUG4M3cXJMrwUV4OwuoJ7UDrGpo1BZfE8jr88+5VmqNPGKR1 ojZ8j9MPxbaLEXstP7lFOotYm58RIWXtRzVd6QGr6pTGJ5p8W3PGa/Hp7t/1YuFVyQVI c847B/5opl/NxfnafM0K+3xkR7w0MXhS1xuUbz2LTJnbWuQI8oYr8hZWDNHfd4Iiaan8 Sboj+sIh+RB4is7Xauj6UXaWuPn+ggAs8bYSIe2/ITDXZRosbLLsbYDgyv4VekLV5DJM Cbpw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amacapital-net.20150623.gappssmtp.com header.s=20150623 header.b=o4uo3BL2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 72si19834411plb.165.2019.05.14.08.45.22; Tue, 14 May 2019 08:45:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@amacapital-net.20150623.gappssmtp.com header.s=20150623 header.b=o4uo3BL2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726387AbfENPnr (ORCPT + 99 others); Tue, 14 May 2019 11:43:47 -0400 Received: from mail-pl1-f194.google.com ([209.85.214.194]:38740 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725854AbfENPnr (ORCPT ); Tue, 14 May 2019 11:43:47 -0400 Received: by mail-pl1-f194.google.com with SMTP id f97so3358148plb.5 for ; Tue, 14 May 2019 08:43:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amacapital-net.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=v0nvVqgy68rs5XKTL1qS0XTg9vbvJX75DMTfHz65o7k=; b=o4uo3BL2FJTiVqjqCYWGK7TMMV+lwcOVDCNWJTqe+tsflDaF1yLX/e9s+YSEdV9a/X 0LABKAoi0StS36W6oGQpGj2P9Ct672agdHbaJD3SQjoZ0jW0NpD1tvHmfqZg3k3gEIMm pD3Y0PN2veoFVEcAjudbuFBK4ihHBhxjGmFrArDMaQOSdIoNf0wbzeoWhlxvo11h8EQj 5+ePJDr+YQ3YkBtn6wnDJCoLAujldWH4NLM1lyC6LyWFIUDCdOPrWhUQBDcmMaKmwirX GLQ96LzLwwi7s2MUdjqt+joWr3rsVAX/g44QiL28zCZdC3f8nx6CKfXtYBWsA//YqsXb s4oA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=v0nvVqgy68rs5XKTL1qS0XTg9vbvJX75DMTfHz65o7k=; b=HWyU1L+Evtq6eQuMUebc4n//YZPO55pvJhmovAzi8zuD+1KENMDVVKZSH2f++51N+A z+aBH4UytVeVH+nadyB8oJ/9nNMrZjZhvyo219XI1kQlLuuC+hym8f8rTznTP71iY3/F mwyAseTThVoGOjr7tFyMSkDzwmigkr8SJoUET1V2N8TPf+LxjcQbGl3X4RCGcQwALnIT iycKU+xJnjNaEKjTBvqUXsdsJCkyFS4tli0RNWssF0ZBly3bozBX4Vy1FAgccJ0K2N2h d9SIKuD+i7FZh+9y3H/SWboTb3WKmDqUOt3GRjCg9u5GZIrY5o5zLJyrp2r4xmYIlN6G GW6Q== X-Gm-Message-State: APjAAAVhVHjEh5LWBiUQeYNGK5ci0+384J90z8/2vaEBStdlmDVPo5Re PI4XL7+GexrA0ma/WrbIV1mKNg== X-Received: by 2002:a17:902:4203:: with SMTP id g3mr19140823pld.288.1557848626663; Tue, 14 May 2019 08:43:46 -0700 (PDT) Received: from ?IPv6:2601:646:c200:1ef2:1d0a:33b8:7824:bf6b? ([2601:646:c200:1ef2:1d0a:33b8:7824:bf6b]) by smtp.gmail.com with ESMTPSA id o2sm36069339pgq.1.2019.05.14.08.43.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 14 May 2019 08:43:45 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (1.0) Subject: Re: [RFC KVM 24/27] kvm/isolation: KVM page fault handler From: Andy Lutomirski X-Mailer: iPhone Mail (16E227) In-Reply-To: <95f462d4-37d3-f863-b7c6-2bcbb92251ec@oracle.com> Date: Tue, 14 May 2019 08:43:44 -0700 Cc: Peter Zijlstra , Andy Lutomirski , Liran Alon , Paolo Bonzini , Radim Krcmar , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Dave Hansen , kvm list , X86 ML , Linux-MM , LKML , Konrad Rzeszutek Wilk , jan.setjeeilers@oracle.com, Jonathan Adams Content-Transfer-Encoding: quoted-printable Message-Id: <8DBEACE9-AB4C-4891-8522-A474CA59E325@amacapital.net> References: <1557758315-12667-1-git-send-email-alexandre.chartre@oracle.com> <1557758315-12667-25-git-send-email-alexandre.chartre@oracle.com> <20190513151500.GY2589@hirez.programming.kicks-ass.net> <13F2FA4F-116F-40C6-9472-A1DE689FE061@oracle.com> <20190514072110.GF2589@hirez.programming.kicks-ass.net> <95f462d4-37d3-f863-b7c6-2bcbb92251ec@oracle.com> To: Alexandre Chartre Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On May 14, 2019, at 8:36 AM, Alexandre Chartre wrote: >=20 >=20 >> On 5/14/19 9:21 AM, Peter Zijlstra wrote: >>> On Mon, May 13, 2019 at 07:02:30PM -0700, Andy Lutomirski wrote: >>> This sounds like a great use case for static_call(). PeterZ, do you >>> suppose we could wire up static_call() with the module infrastructure >>> to make it easy to do "static_call to such-and-such GPL module symbol >>> if that symbol is in a loaded module, else nop"? >> You're basically asking it to do dynamic linking. And I suppose that is >> technically possible. >> However, I'm really starting to think kvm (or at least these parts of it >> that want to play these games) had better not be a module anymore. >=20 > Maybe we can use an atomic notifier (e.g. page_fault_notifier)? >=20 >=20 IMO that=E2=80=99s worse. I want to be able to read do_page_fault() and unde= rstand what happens and in what order. Having do_page_fault run with the wrong CR3 is so fundamental to its operati= on that it needs to be very obvious what=E2=80=99s happening.=