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=-9.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham 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 C327FC3A59E for ; Mon, 26 Aug 2019 06:21:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 960DE217F4 for ; Mon, 26 Aug 2019 06:21:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MySke9tN" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729581AbfHZGVY (ORCPT ); Mon, 26 Aug 2019 02:21:24 -0400 Received: from mail-pl1-f193.google.com ([209.85.214.193]:33000 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725446AbfHZGVX (ORCPT ); Mon, 26 Aug 2019 02:21:23 -0400 Received: by mail-pl1-f193.google.com with SMTP id go14so9487000plb.0; Sun, 25 Aug 2019 23:21:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=2d6Xg7KS3QkarhAnTKzOio/9Hq5e+mOo/h5l0VKXGxw=; b=MySke9tNcUNjIrwwzxJfkF6sdhh+M5BgPa5ydSU+0kQLxUZjU8L6/5bJfbTpd+T866 SxJkyOjS70uV62qM1C9X71AbV4PqA3YvZrXyMmyOBte6jr651F75D5RjBcjTjnjWTCdO zBjisAWOrKGA5J2ymZkqgQ0wQ6TTabDhnsbSx4BovWD00jGnPjNmZrGcuId/t1W2Mvmb UyiOhXO9WpwiOraKcjsM0EO9ClQsgm1Bdb3okDgdst2Zr0utKH3oGYesHCDG22WU3+Yr 2Lhoz3Bh8tgoMQN4sEsCVCIu3fH8m3zpq+P+hTZ/XFAcz8wvD++/q3zJx1LRen85Ap7p wm8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=2d6Xg7KS3QkarhAnTKzOio/9Hq5e+mOo/h5l0VKXGxw=; b=nW/DuchDNMzdVTrgvIprqTCLsaCL1RJsF1Ocrk3oE32nDxcG/b6AEq0Kebu42l6/n1 XvX6RDraPSAvPb3ANz/nncJTd50AXfMPjU5cBtpZjhyWexczbYYWHv7UUPmdWfksdAL0 xj56pLQxvKWQvfMdaOW4IAiQqBdT+4namhut6CUPAXydE2qF9rC4wKWfl5W+g8S7eVdo Tc5XnTAP63Oj5XdJwn4a/M38HmzCSyCADkV1H3ZhOZBEeDi/6jIqrSoD5kVhEJ4iyd96 GgEs9maVdoNbs3+EAjFv9RtEPvgckYS+LU5UEWSv/DP9wX8eoDg59aYb2pWtx+2FlyZZ hJGA== X-Gm-Message-State: APjAAAWOxmIyljRGi0KsKnIQ8Rty8V95hDd+dAew5M0pNAkS86ztRMzn SqRdB24DKrFdfP8/3e+Qg7UtrMQteHQ= X-Google-Smtp-Source: APXvYqz+tpxbL03yBO3V/1VRszrYfoz7FK9FOUGm9jglItpanxURzyx2r4j+0lDpa6neMCPKeH7RMA== X-Received: by 2002:a17:902:e592:: with SMTP id cl18mr17259642plb.291.1566800483049; Sun, 25 Aug 2019 23:21:23 -0700 (PDT) Received: from surajjs2.ozlabs.ibm.com.ozlabs.ibm.com ([122.99.82.10]) by smtp.gmail.com with ESMTPSA id f7sm10030353pfd.43.2019.08.25.23.21.21 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 25 Aug 2019 23:21:22 -0700 (PDT) From: Suraj Jitindar Singh To: kvm-ppc@vger.kernel.org Cc: paulus@ozlabs.org, kvm@vger.kernel.org, Suraj Jitindar Singh Subject: [PATCH 03/23] KVM: PPC: Book3S HV: Nested: Don't allow hash guests to run nested guests Date: Mon, 26 Aug 2019 16:20:49 +1000 Message-Id: <20190826062109.7573-4-sjitindarsingh@gmail.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20190826062109.7573-1-sjitindarsingh@gmail.com> References: <20190826062109.7573-1-sjitindarsingh@gmail.com> Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Don't allow hpt (hash page table) guests to act as guest hypervisors and thus be able to run nested guests. There is currently no support for this, if a nested guest is to be run it must be run at the lowest level. Explicitly disallow hash guests from enabling the nested kvm-hv capability at the hypervisor level. Signed-off-by: Suraj Jitindar Singh --- arch/powerpc/kvm/book3s_hv.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index cde3f5a4b3e4..ce960301bfaa 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -5336,8 +5336,12 @@ static int kvmhv_enable_nested(struct kvm *kvm) return -ENODEV; /* kvm == NULL means the caller is testing if the capability exists */ - if (kvm) + if (kvm) { + /* Only radix guests can act as nested hv and thus run guests */ + if (!kvm_is_radix(kvm)) + return -1; kvm->arch.nested_enable = true; + } return 0; } -- 2.13.6 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suraj Jitindar Singh Date: Mon, 26 Aug 2019 06:20:49 +0000 Subject: [PATCH 03/23] KVM: PPC: Book3S HV: Nested: Don't allow hash guests to run nested guests Message-Id: <20190826062109.7573-4-sjitindarsingh@gmail.com> List-Id: References: <20190826062109.7573-1-sjitindarsingh@gmail.com> In-Reply-To: <20190826062109.7573-1-sjitindarsingh@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: kvm-ppc@vger.kernel.org Cc: paulus@ozlabs.org, kvm@vger.kernel.org, Suraj Jitindar Singh Don't allow hpt (hash page table) guests to act as guest hypervisors and thus be able to run nested guests. There is currently no support for this, if a nested guest is to be run it must be run at the lowest level. Explicitly disallow hash guests from enabling the nested kvm-hv capability at the hypervisor level. Signed-off-by: Suraj Jitindar Singh --- arch/powerpc/kvm/book3s_hv.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index cde3f5a4b3e4..ce960301bfaa 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -5336,8 +5336,12 @@ static int kvmhv_enable_nested(struct kvm *kvm) return -ENODEV; /* kvm = NULL means the caller is testing if the capability exists */ - if (kvm) + if (kvm) { + /* Only radix guests can act as nested hv and thus run guests */ + if (!kvm_is_radix(kvm)) + return -1; kvm->arch.nested_enable = true; + } return 0; } -- 2.13.6