Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp2273918pxp; Mon, 21 Mar 2022 15:34:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwh9aJbxyyJ/PTwtsegmq4YoGk2rb/QFnWIHv0sQmytmnsVO24Ep/plYzIo7QYCN809+fqO X-Received: by 2002:a05:6a00:170c:b0:4f7:658d:77a2 with SMTP id h12-20020a056a00170c00b004f7658d77a2mr25852552pfc.60.1647902086005; Mon, 21 Mar 2022 15:34:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647902086; cv=none; d=google.com; s=arc-20160816; b=l0WCAIjPn3B75n9ynWisxRbvQbgkqezTRCBFixSDTPwbWI3ZJMg+fpDTkDWQGQleEc 1yHhX8vEQC5tlpQ6Wqlqx5KsF3M7l9Gubozwn3g7Apiaheu9iUdJFIyHDkLOnYvJBg1a ld6e6Xgi/x7srfH2sSJcLXynoZnxoKoCR7ggYbNbmac+mFoUoyMyibGIkEB08KwseEWj 0DZbXHEmd2MjkFXZtwrz4lAu2NzRdm5dP8x3vUfOktmvbwGKVd+5fCL57wTG/Xa7QV6I LWqKRyg6qUmK3ykjsJyXh+GOFv4B7QuaSi+mGy4mEykQDrsWqqc5+vXEyZ1gMdab2yvF PtDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=67U3Z2XcJlRBA5r6fKuHVpCEmGfkLy5vZyJ9ghD60yU=; b=VaqH35IclEEqiXAbT8ZXsUferr4aTiCH4J2QuBDK+c+zf1D3RLWlnjMbcmur1DBiGx IApw2YXfG+o4LwhlB6ezIIlGq5DZGtMG+tjyotFCG40i3PJyLTGuPVyMV7FxcHO2n3fs URfOgogsHqdXV/Br8Heugz4uWnmrqjyNANHXjV6IhasypttpGOqkLxzlRnlE0XpssOeH lJIpl29ZyKeq+4S4QuMfXmTraP+Tb5zQitgd9nGzFtZNXmEiLWkYj7KLKXHmIUZ+Kijm y/n8EMhckYkTm62HFH7JF+4eq8cXlO7IpqlRDWKd6NoWdItraYsodJRg23InH+WIbE6H eVsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="TNT/gBll"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id x20-20020aa79414000000b004fa3a8e00basi7673522pfo.369.2022.03.21.15.34.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Mar 2022 15:34:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="TNT/gBll"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id ECA783B08AB; Mon, 21 Mar 2022 14:47:47 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352003AbiCUSJr (ORCPT + 99 others); Mon, 21 Mar 2022 14:09:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42422 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1351993AbiCUSJq (ORCPT ); Mon, 21 Mar 2022 14:09:46 -0400 Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A6DD5387B6 for ; Mon, 21 Mar 2022 11:08:20 -0700 (PDT) Received: by mail-pj1-x1035.google.com with SMTP id mz9-20020a17090b378900b001c657559290so3823pjb.2 for ; Mon, 21 Mar 2022 11:08:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=67U3Z2XcJlRBA5r6fKuHVpCEmGfkLy5vZyJ9ghD60yU=; b=TNT/gBllZiZ0tYMdVN2h6Nu1CfHmFRNsSVWVmgJWqeTocFJGIIb3xLUflmb2Xbhx9q MdCYvUZD5LDw5yukGlzFxb99EQ2GcdFYgCARWv7Gr3pEXX5U/g50pBVxVPt4ZhNr5a/x VjRv4M+nh6x3wJLti+SzX17OoJu+otOr8x0imo4nv1hUeFQFLvxbtR2BGsXICYiMY/mo jVNmkdGSHAZsv8nLSjjTsW33LViVjtzjXtQwj/z22oc/mKR3Vcy0kT925uiJpr1p/KUN 7Ur/VXTjPYzzwM52Vq/bT5vSSWzJgai4h979kSvYjTeUU47hNNnekH1eV9HVlobSULM1 lO7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=67U3Z2XcJlRBA5r6fKuHVpCEmGfkLy5vZyJ9ghD60yU=; b=da7E1Jqb8N5wBE5zKs5BA/gIAsSW+gITi4xN0YPaxs/R7znxdb9SP9E++Y72XKSrwN hdUfXbuGZTLyewhmNN3nuiJx0Ger7cTUhWbnHc158Gn+2Z5hlJJ39Ix6QNrVO62+3RZx oDgu/qmYI89ZRooVMe5vlJeMWFjpQ+PH1BfpFkEX5MsAYXoU++Z4nqClmje72ogHa966 vv+1u9ThZtkYCxKCKi3cvYeo+EIxqABi7AY+6aWRohhbVk1tFtPchacr39+DsaGFIYKD uSEMhK9cVSG/+KMe+9gejifi3m2EQvkgqJl5p1VcKh5sHtOXRhOQ3cgX+YYsURKFqp5e FaUQ== X-Gm-Message-State: AOAM530L89JsrZVdgfqb6VdqbpdrN/r/NkCqnroC37C3V/ZjOEjAEh4z D2bTyG287xMl0T8/3ox7ccNtDsbQyYwL9huihRdaJQ== X-Received: by 2002:a17:90a:5407:b0:1bf:43ce:f11b with SMTP id z7-20020a17090a540700b001bf43cef11bmr367471pjh.31.1647886099922; Mon, 21 Mar 2022 11:08:19 -0700 (PDT) MIME-Version: 1.0 References: <20220321150214.1895231-1-pgonda@google.com> In-Reply-To: From: Peter Gonda Date: Mon, 21 Mar 2022 12:08:08 -0600 Message-ID: Subject: Re: [PATCH] Add KVM_EXIT_SHUTDOWN metadata for SEV-ES To: Marc Orr Cc: kvm list , Borislav Petkov , Tom Lendacky , Brijesh Singh , Joerg Roedel , Sean Christopherson , LKML Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-9.5 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > > diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c > > index 75fa6dd268f0..5f9d37dd3f6f 100644 > > --- a/arch/x86/kvm/svm/sev.c > > +++ b/arch/x86/kvm/svm/sev.c > > @@ -2735,8 +2735,13 @@ static int sev_handle_vmgexit_msr_protocol(struct vcpu_svm *svm) > > pr_info("SEV-ES guest requested termination: %#llx:%#llx\n", > > reason_set, reason_code); > > > > - ret = -EINVAL; > > - break; > > + vcpu->run->exit_reason = KVM_EXIT_SHUTDOWN; > > + vcpu->run->shutdown.reason = KVM_SHUTDOWN_SEV_TERM; > > + vcpu->run->shutdown.ndata = 2; > > + vcpu->run->shutdown.data[0] = reason_set; > > + vcpu->run->shutdown.data[1] = reason_code; > > + > > + return 0; > > Maybe I'm missing something, but don't we want to keep returning an error? > > rationale: Current behavior: return -EINVAL to userpsace, but > userpsace cannot infer where the -EINVAL came from. After this patch: > We should still return -EINVAL to userspace, but now userspace can > parse this new info in the KVM run struct to properly terminate. > I removed the error return code here since an SEV guest may request a termination due to no fault of the host at all. This is now inline with any other shutdown requested by the guest. I don't have a strong preference here but EINVAL doesn't seem correct in all cases, do others have any thoughts on this?