Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5967097imu; Mon, 21 Jan 2019 00:30:18 -0800 (PST) X-Google-Smtp-Source: ALg8bN4rTn7VsTi61+SBmzCpeidKIiKl8WB90Ex5fn84wAXv8CMeztq5kg+HdVWXL/EhAcRgrCow X-Received: by 2002:a63:2406:: with SMTP id k6mr26325595pgk.229.1548059418478; Mon, 21 Jan 2019 00:30:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548059418; cv=none; d=google.com; s=arc-20160816; b=FOzUfiKYDwHMWkdHYmQ9urBPbwGyO3256+igL7XFu/OzDdAtcGv3bZPLfa7RZYOZUr yAzbmnrDhLlEmuFCLOgR0AvYD6JFtHLVBpODrMjAYzkbAB1DCf8T2RKfQkuf8H5qdCM4 271ED5wOmzTC0quxlAbK8Z7EpzHfbBiCFB5XSFCK01UiRL2k9gwS3pIOL9hNo1xoO0UH pbwPo6v4v6WJgPUUONrn9A5wvcM21T1HOE6hy9rPqWo3HUNv+9ojRAPcy5RtC7ddaOqA 6QfloBdnWmQbfZ4+fIZyj3IRizSeks83+j7tp0n+kB5J0NLgJ4Da1sT2le+92T+I/Q34 2fQw== 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=juz3/8ubyO70o/WwTakdDVvsVYAiN+8d71XTlXhc8d0=; b=eco/jsWnl4j0kmIj22E1XxaWRZ2/sotMMK1dPgYjYF5H4K4Zusuf1T0wgzMStpClfv djRnC8UmzLkZva5IcyOV/NkRHBlWfc/dnjIOBLwGuOMZWbZfJwvi/Y6Jj2CMo3197O+F /V6BPfF6chqENXNV3Brn0fuZn4a1cTBn6Hb0iRTyR2WWTfj9puK2eeHs/OUtWMv1MA39 61ibGDW9bhBDE1J0GJmjnGI4Yay4+TiM8mljU7PhgsGuus3y/eBG5I/VtMN07JIltWuX Y0LFMQCkbtsBRw5FDZfvhfSA3666CNb0O/KIM/S2Ory1Ph9TT14lMlHE5/k3xpBAlnnU 0Dtg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mena-vt-edu.20150623.gappssmtp.com header.s=20150623 header.b=gnuyvR2b; 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 j17si1378912pfd.113.2019.01.21.00.30.02; Mon, 21 Jan 2019 00:30:18 -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=gnuyvR2b; 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 S1729132AbfAUI2v (ORCPT + 99 others); Mon, 21 Jan 2019 03:28:51 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:34121 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727979AbfAUI2v (ORCPT ); Mon, 21 Jan 2019 03:28:51 -0500 Received: by mail-wm1-f67.google.com with SMTP id y185so5545087wmd.1 for ; Mon, 21 Jan 2019 00:28:49 -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=juz3/8ubyO70o/WwTakdDVvsVYAiN+8d71XTlXhc8d0=; b=gnuyvR2bnuLilcd7+9IZF+J+o8w0XrNB/1Xkz7HCGSUq9qPW+NOUi/WjYSQqOIbFY6 zLE2d9gMubbXqFn/RyND6TvDIfdb/L+z0gY/VXI5CSIrtblIhzSkrwfO9Z3V+IZ3pvOf OgWoTmijDHQtTrwB5UKFvw62XDi3VPUnfQJz+ZgdTCd6RSzSyBC7iwapfZxpAHiNfiBX pBvS382M8jVHkBZVPVELstfsb3pvL6o7J+IpQFEUIL3qZGuiRXIiQ8eWV08tqCEpZ3k+ StfsIH+p6gK7RZjheXduzukbYDmmTJja/NEELPCmFu5nVOPQKZ38nUuJFdcfezgwc4gg o3Aw== 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=juz3/8ubyO70o/WwTakdDVvsVYAiN+8d71XTlXhc8d0=; b=p5itO4r/BrhtPf/+IShzaE7Kf5ZpEbLhCnW0BHItRZOQ9S33BwbDqsiSZiofi+5ozh ohnrvO1OAmsTKpsdH6JmUvcCkCUM3E2SFOm3SM/hS+lsYCShiQbjk7SN/X8rIZ+bnLtr 6Qv7tRA6Aw4z/AWrkXoDuKEnx8HD35r+VhJSLyElonaQ0QRUa8ciwVFNNRKxGKlvKdbK jOEbtgxG+gD3O556+PujWB7aqM1zMfAgaj2mWGZh8Bd+X7jYjhnp6dtLH1BMNU67NZeD CU377qJYxeR+QHxnDMBU7jqUeW4dEafZseuw5820nKbCketzDVsb7WrgHp17yYzFFzKa cJBg== X-Gm-Message-State: AJcUukcZjdFjr/YxMToVWEM9wE8AP/OtcawyV32zmdI9FpAWBDlGtf2h bD0hX9Ffux+X0prkIcO0e4LNvzZm9lU= X-Received: by 2002:a1c:2c6:: with SMTP id 189mr22057938wmc.21.1548027673915; Sun, 20 Jan 2019 15:41:13 -0800 (PST) Received: from localhost.localdomain ([156.212.82.83]) by smtp.gmail.com with ESMTPSA id e9sm76576753wro.16.2019.01.20.15.41.09 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 20 Jan 2019 15:41:13 -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: [RESEND PATCH V8 03/11] KVM: X86: Add helper function to convert SPTE to GFN Date: Mon, 21 Jan 2019 01:39:32 +0200 Message-Id: <20190120233940.15282-4-ahmedsoliman@mena.vt.edu> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20190120233940.15282-1-ahmedsoliman@mena.vt.edu> References: <20190120233940.15282-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 098df7d135..bbfe3f2863 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c @@ -1053,6 +1053,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