From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A5F4AC433DF for ; Thu, 11 Jun 2020 18:16:57 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 87504206DC for ; Thu, 11 Jun 2020 18:16:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726695AbgFKSQx (ORCPT ); Thu, 11 Jun 2020 14:16:53 -0400 Received: from mx2.suse.de ([195.135.220.15]:57744 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726386AbgFKSQw (ORCPT ); Thu, 11 Jun 2020 14:16:52 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 12C16B158; Thu, 11 Jun 2020 18:16:48 +0000 (UTC) Date: Thu, 11 Jun 2020 20:16:41 +0200 From: Joerg Roedel To: Sean Christopherson Cc: Joerg Roedel , Borislav Petkov , x86@kernel.org, hpa@zytor.com, Andy Lutomirski , Dave Hansen , Peter Zijlstra , Thomas Hellstrom , Jiri Slaby , Dan Williams , Tom Lendacky , Juergen Gross , Kees Cook , David Rientjes , Cfir Cohen , Erdem Aktas , Masami Hiramatsu , Mike Stunes , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org Subject: Re: [PATCH v3 47/75] x86/sev-es: Add Runtime #VC Exception Handler Message-ID: <20200611181641.GD12636@suse.de> References: <20200428151725.31091-1-joro@8bytes.org> <20200428151725.31091-48-joro@8bytes.org> <20200523075924.GB27431@zn.tnic> <20200611114831.GA11924@8bytes.org> <20200611173848.GK29918@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200611173848.GK29918@linux.intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org On Thu, Jun 11, 2020 at 10:38:48AM -0700, Sean Christopherson wrote: > Isn't it possible for the #VC handler to hit a #PF, e.g. on copy_from_user() > in insn_fetch_from_user()? If that happens, what prevents the #PF handler > from hitting a #VC? AIUI, do_vmm_communication() panics if the backup GHCB > is already in use, e.g. #VC->#PF->#VC->NMI->#VC would be fatal. This would be possible, if the #PF handler is able to trigger a #VC. But I am not sure how it could, except when it has to call printk. If #PF can trigger a #VC, then a fix is to further limit the time the GHCB is active, and make sure there are not faults of any kind when it actually is active. Then the only vector to care about is NMI. I will look into that. Regards, Joerg