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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D90F2C531DF for ; Thu, 22 Aug 2024 15:54:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date: Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Gr/GUOfHXfOIVKagkB5jh7arGAWBFOtRfqiWOOxBj3U=; b=CSPefc9kWOZBDMK1PWBYmp5qDG c6ljtNqZ5Bh8mgJdXdT6bU91jhTerTa9MPdi+ROsiCQDhUpx+4axZFAIn0RZCOll3P2R6d1Un/E2h iXB4/Re6L5K1MVqEn6It4uXHbaXlU32W1JNdo73PsYZLiktTAWgFIVRFiwZ0enYknDGv5A/20zDQZ mcOY+YHFe6i+/2wKmyevEzE0uVfmFBXrSh/jWXbTdnj5Fm39MDEMxzqsm7hU5nRE/Bk8uTvc7YAFM FGw0yppTtns7g9OUTVbUdJSYjgOPwayo+0U5MpCjhI5yCwuwLZ1H2Aws0Yuecjx6lysn3FXbL37LK 7SmFDbbg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1shA8N-0000000DQwm-3yqt; Thu, 22 Aug 2024 15:53:59 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sh9W9-0000000DJ3l-1X5O for linux-arm-kernel@bombadil.infradead.org; Thu, 22 Aug 2024 15:14:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type :In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID: Sender:Reply-To:Content-ID:Content-Description; bh=Gr/GUOfHXfOIVKagkB5jh7arGAWBFOtRfqiWOOxBj3U=; b=UUORm5j5Nyy1qqiTdRVrsziK2f qTpiszaXBSE0Ngh0VEbcKgLQlj93ErW/is++tvc8sgOksTmKWaD/m2zVisdhpUHpsl8dV+AACk8z0 cIKW7Udo8doX5XOK2LdB5bz6aUme1TD5/hQMbcNiD2GW49WmcmkXzZ0Q3/pH89w4QoSMI7fX5KdVS IYvFllBXnGZ2CGgC2KZqSX/JLISXbRn2KymHNht8xztlf2ckBolU7DVUQbH4nMaH3gykHTFDaH8Pz jKvJsFPZD75N43W/+Dt9Vcr8dKmx8l6GOM3pHMFEMBiKC0rOV4iNzzJJQJq1BIt0V1RcBxD4OX7G2 JMHQJZoQ==; Received: from foss.arm.com ([217.140.110.172]) by desiato.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sh9W5-00000009ytI-4BOw for linux-arm-kernel@lists.infradead.org; Thu, 22 Aug 2024 15:14:28 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DB36F169E; Thu, 22 Aug 2024 08:14:50 -0700 (PDT) Received: from [10.57.85.214] (unknown [10.57.85.214]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 58C693F58B; Thu, 22 Aug 2024 08:14:20 -0700 (PDT) Message-ID: <8c0f787c-35d4-4cb1-84d3-ff3f2e3f003a@arm.com> Date: Thu, 22 Aug 2024 16:14:18 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 21/43] arm64: RME: Runtime faulting of memory To: "Aneesh Kumar K.V" , kvm@vger.kernel.org, kvmarm@lists.linux.dev Cc: Catalin Marinas , Marc Zyngier , Will Deacon , James Morse , Oliver Upton , Suzuki K Poulose , Zenghui Yu , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Joey Gouly , Alexandru Elisei , Christoffer Dall , Fuad Tabba , linux-coco@lists.linux.dev, Ganapatrao Kulkarni , Gavin Shan , Shanker Donthineni , Alper Gun References: <20240821153844.60084-1-steven.price@arm.com> <20240821153844.60084-22-steven.price@arm.com> From: Steven Price Content-Language: en-GB In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240822_161426_308201_E9ED8DA4 X-CRM114-Status: GOOD ( 13.06 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 22/08/2024 04:32, Aneesh Kumar K.V wrote: > Steven Price writes: > >> At runtime if the realm guest accesses memory which hasn't yet been >> mapped then KVM needs to either populate the region or fault the guest. >> >> For memory in the lower (protected) region of IPA a fresh page is >> provided to the RMM which will zero the contents. For memory in the >> upper (shared) region of IPA, the memory from the memslot is mapped >> into the realm VM non secure. >> >> Signed-off-by: Steven Price >> --- >> Changes since v2: >> * Avoid leaking memory if failing to map it in the realm. >> * Correctly mask RTT based on LPA2 flag (see rtt_get_phys()). >> * Adapt to changes in previous patches. >> > > .... > >> - gfn = ipa >> PAGE_SHIFT; >> + gfn = (ipa & ~gpa_stolen_mask) >> PAGE_SHIFT; >> memslot = gfn_to_memslot(vcpu->kvm, gfn); >> + >> + if (kvm_slot_can_be_private(memslot)) { >> + ret = private_memslot_fault(vcpu, fault_ipa, memslot); >> + if (ret != -EAGAIN) >> + goto out; >> + } >> > > Shouldn't this be s/fault_ipa/ipa ? Well they should both be the same unless we're in some scary parallel universe where we have nested virtualisation *and* realms at the same time (shudder!). But yes "ipa" would be more consistent so I'll change it! Steve > ret = private_memslot_fault(vcpu, ipa, memslot); > > -aneesh