Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp512930imu; Fri, 7 Dec 2018 04:50:03 -0800 (PST) X-Google-Smtp-Source: AFSGD/UdtmZ7BRynzEIb4f9xVkeUgAbQ7wjSfjhn/t898Tza4vhh+PdUEHGrytV/mauDeV0oaMkT X-Received: by 2002:a63:3287:: with SMTP id y129mr1832603pgy.337.1544187003082; Fri, 07 Dec 2018 04:50:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544187003; cv=none; d=google.com; s=arc-20160816; b=0n+k7o+FMThgWTr3ArDo/4DUFJz/FQbD96JDMN5jT+KZq0unJQ4dAoXIOeRSAzmrHh IuNlIdEFTEHrTgBKTtnlgjpHqwB6ROZrw4SJQOp4d38lSxP/KuMtBLA4iOpIVmqG9rw2 jzokRu2ty66IgiJmQWt9ZcFNNylKMYYDld024vPQeuKk3C1E8OezmQiPHimdeb5MQVns UMkn/OQza5bFr44p/LrB7N0yvnCpSVGG30LHvI5CdwbQsCrwq01mpRJaGzbsWps7GPgi QOQs51QBGo4Tklit5VqfGU+2SAszMQXmr591pkbW1o6CnfkCcvGLbvcBhwxwKDvNMV7R bPyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=qskwDCENsUJ4XJZgk7mw/D1NJ3EoY/jK2YNM77334Jg=; b=iIBa45+43XWM4Qht/Hjh2DwPCz6eI2aauTLFVg9AkzAAM2R4qrKnMxSJEEZLni7Oox k8U9YbixkNgWYYPmQZa5thMeH/XryLHOJTQ1KRf2I5L+3XAN/CKw6bwum56tvfH8dau7 8YKwWDE8Z9uQn4RzvHaHFF7j7j0nGqT2FPYY9y52hFoWqEncIVIkVhcHf1CW3TUh5pZ9 dtv/PWndizPtiPM2W/gzrJjNHgHmfMtcy3yYk9pB3Etz35eeg1l7UmaMmmfc3cR8ZC3O SCHaANsN21H7Zwc2ygVmI+WuqEtDmDLGW+9TuSWwZsAYM60Ar4mSdsn3SWJte77F1PI0 jaSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mena-vt-edu.20150623.gappssmtp.com header.s=20150623 header.b=eBzgdhkt; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vt.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x8si2772836pll.187.2018.12.07.04.49.47; Fri, 07 Dec 2018 04:50:03 -0800 (PST) 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=@mena-vt-edu.20150623.gappssmtp.com header.s=20150623 header.b=eBzgdhkt; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vt.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726185AbeLGMtE (ORCPT + 99 others); Fri, 7 Dec 2018 07:49:04 -0500 Received: from mail-wr1-f65.google.com ([209.85.221.65]:42839 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726172AbeLGMtE (ORCPT ); Fri, 7 Dec 2018 07:49:04 -0500 Received: by mail-wr1-f65.google.com with SMTP id q18so3673700wrx.9 for ; Fri, 07 Dec 2018 04:49:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mena-vt-edu.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qskwDCENsUJ4XJZgk7mw/D1NJ3EoY/jK2YNM77334Jg=; b=eBzgdhktIQ137s6FC7u+gCPBBBDYqLbuh6vzpN/BbPDS8ZmYTwukPjotz750UMPraN 9HElqnTsb3BVtqBDTmatcs6c5vRRC6ySaruowAOc/ZDEVkf8Ba0b6lh1zZwRFTrY9hhr 5MsheYQX6J4rTN0AyUyjB6thGWbLL3fcwC++9dqW6NJncg/te3AAKOIsfaPNXs4ON0TN O2EPUrg5aM3H2zIUOwdZgzNB7y3LJeDGitoPb514EJhQFRWIAT6hVpiuu7F8dMDWc4tM d3pVVADpadqjuH41NgKjOei5dzGkHqnjGFJpWPZyxQVktCEUlB44/Gy6K2LTYgOP5nv7 2MjA== 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:mime-version:content-transfer-encoding; bh=qskwDCENsUJ4XJZgk7mw/D1NJ3EoY/jK2YNM77334Jg=; b=XjqbwZBrzqlkw1AZWX/cLEINdxACNMufnS0LmJpWyt2xzKBEGC+1TalHzvMhCb6uFR YqlgV1B2SE4rxBSu5mB6KYPlVwRQ/bcBJUk9nbELrJDPL/FaS/NB+Db733vqKNh3yj7t aV1UA9LHhVn1xltHnveb4HYP/y7XcyTgdhG7g4P+g2cN7KgBsWxXHbojO5/8IONdYxMF 8rzlaoOktOHU6tA/o1smJKyGKSDN1Iq/ogONSIdiTH8aam42PHonfC7+9aHgkW4wkzSd b0FQvvEd65XEgzEr6zNbA97biYgIrZGTwt5uVZwu+em/epQP3UVzOjvxyAANcjQJR0Ud FApg== X-Gm-Message-State: AA+aEWaUdZG1xl84ZRM9FsR+KcUBu0wqHC7wj4O3cjkb3+dgt/IEGsZt mTLvbkBigbTXU9CZ17NUz6tj/A== X-Received: by 2002:adf:a4d9:: with SMTP id h25mr1582875wrb.167.1544186942211; Fri, 07 Dec 2018 04:49:02 -0800 (PST) Received: from localhost.localdomain ([156.213.98.90]) by smtp.gmail.com with ESMTPSA id i192sm4362949wmg.7.2018.12.07.04.48.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 07 Dec 2018 04:49:01 -0800 (PST) From: Ahmed Abd El Mawgood To: Paolo Bonzini , rkrcmar@redhat.com, Jonathan Corbet , Thomas Gleixner , Ingo Molnar , Borislav Petkov , hpa@zytor.com, x86@kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, ahmedsoliman0x666@gmail.com, ovich00@gmail.com, kernel-hardening@lists.openwall.com, nigel.edwards@hpe.com, Boris Lukashev , Igor Stoppa Cc: Ahmed Abd El Mawgood Subject: [PATCH 03/10] KVM: X86: Add helper function to convert SPTE to GFN Date: Fri, 7 Dec 2018 14:47:56 +0200 Message-Id: <20181207124803.10828-4-ahmedsoliman@mena.vt.edu> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181207124803.10828-1-ahmedsoliman@mena.vt.edu> References: <20181207124803.10828-1-ahmedsoliman@mena.vt.edu> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Signed-off-by: Ahmed Abd El Mawgood --- arch/x86/kvm/mmu.c | 7 +++++++ arch/x86/kvm/mmu.h | 1 + 2 files changed, 8 insertions(+) diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index b67d743c33..a300e4acb8 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c @@ -1024,6 +1024,13 @@ static gfn_t kvm_mmu_page_get_gfn(struct kvm_mmu_page *sp, int index) return sp->gfn + (index << ((sp->role.level - 1) * PT64_LEVEL_BITS)); } +gfn_t spte_to_gfn(u64 *spte) +{ + struct kvm_mmu_page *sp; + + sp = page_header(__pa(spte)); + return kvm_mmu_page_get_gfn(sp, spte - sp->spt); +} static void kvm_mmu_page_set_gfn(struct kvm_mmu_page *sp, int index, gfn_t gfn) { diff --git a/arch/x86/kvm/mmu.h b/arch/x86/kvm/mmu.h index c7b333147c..49d7f2f002 100644 --- a/arch/x86/kvm/mmu.h +++ b/arch/x86/kvm/mmu.h @@ -211,4 +211,5 @@ void kvm_mmu_gfn_allow_lpage(struct kvm_memory_slot *slot, gfn_t gfn); bool kvm_mmu_slot_gfn_write_protect(struct kvm *kvm, struct kvm_memory_slot *slot, u64 gfn); int kvm_arch_write_log_dirty(struct kvm_vcpu *vcpu); +gfn_t spte_to_gfn(u64 *sptep); #endif -- 2.19.2