Received: by 10.223.185.116 with SMTP id b49csp1049127wrg; Wed, 21 Feb 2018 11:11:05 -0800 (PST) X-Google-Smtp-Source: AH8x226qfnNOdI33fAoCAj448nLzLME5Wu39lZxRuGClG/fYmXn0P029ePxKcDMM3nRxOBIDu74r X-Received: by 10.101.92.196 with SMTP id b4mr3437892pgt.27.1519240265657; Wed, 21 Feb 2018 11:11:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519240265; cv=none; d=google.com; s=arc-20160816; b=r2pYfs7AFgajJnOAjA7ujiH/rpV85jx1KhFULatedTdEPLbjH6dnWyUXfJH8Iz8THa O33DttDZr+1MQzoNA7yOpuydRdyN7tiMPg5tt/le8fyDOjLEhFzLAq/zmPuXUboCZGFo foD0wNKcqtb+RRQjy1Ga7iimH9mgw9iFHpYHV7A7ZU6wiTw67FsnpPqPUfOGhResvb7w fstuuYNyu4jMFhtvcqDvuzjV8HOIsMckRznnJPFP67vC2BK7g/2v2ayhB+FpTlrp5rDi Q4xoy8+0vE1XSWg0v/GrXFODkP5jnqINDLUMhq/ZpkkfUzfw6h5DxsGqOC1C98ytT7VD B2HA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=HNHcinAQtQfBRJ3gPE7Tx9mZmL87TdPmGkX21jeGnr8=; b=wtccPb1+8wly6X0rE5oPpCl9+kvDfC2S9j4h6skGal0hqKYVSJ8AKQT4x3We7oU7zu fG2TPe20u9QZjnmK3mBOpfh+an1bZ13a5OzAQpC5uNvnOdVxgR7lIqaHWAM5KomqF0WA 65iNVORH/oYeXUDw+mRBlpk900O4fpe9DBCFjWrscTsJBKJA3emIpznFQrhLy4PgiopV iLrUQJQM3WH+aUy/RUJI1leiBmmNazX83jHQemUGc3kS2j+RhuBvpXIidH+l1L4DFlJJ tGp3A41GnuYr0LeJT64Roi7ga+hIJfs+OnPeLq0aJlwsDmnH59gZE9x+gZQ0GnewUCn7 e+hQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.de header.s=amazon201209 header.b=TGIYnxgD; 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=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v4-v6si7906036plb.529.2018.02.21.11.10.51; Wed, 21 Feb 2018 11:11:05 -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=@amazon.de header.s=amazon201209 header.b=TGIYnxgD; 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=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S937208AbeBURsC (ORCPT + 99 others); Wed, 21 Feb 2018 12:48:02 -0500 Received: from smtp-fw-9102.amazon.com ([207.171.184.29]:3115 "EHLO smtp-fw-9102.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936186AbeBURr4 (ORCPT ); Wed, 21 Feb 2018 12:47:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209; t=1519235275; x=1550771275; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=HNHcinAQtQfBRJ3gPE7Tx9mZmL87TdPmGkX21jeGnr8=; b=TGIYnxgD5//x8QrKfVE8ujgEC2boowq2d4NXov7wDzE4ILhzOBUEokL8 OkPUHp8SEaZViYYm7i5AB+L0yJ3FSaQXL3K/pZ5OpEXWm04X2szceevzS 7p81bwh6syjsvUqvGtnbGc18wA9vacdvMpeLQXCIkbFj+8dSQ9fTBEVLH o=; X-IronPort-AV: E=Sophos;i="5.47,375,1515456000"; d="scan'208";a="596070826" Received: from sea3-co-svc-lb6-vlan3.sea.amazon.com (HELO email-inbound-relay-1e-428a6f71.us-east-1.amazon.com) ([10.47.22.38]) by smtp-border-fw-out-9102.sea19.amazon.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 21 Feb 2018 17:47:52 +0000 Received: from u54e1ad5160425a4b64ea.ant.amazon.com (iad1-ws-svc-lb91-vlan3.amazon.com [10.0.103.150]) by email-inbound-relay-1e-428a6f71.us-east-1.amazon.com (8.14.7/8.14.7) with ESMTP id w1LHlhvA130252 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 21 Feb 2018 17:47:45 GMT Received: from u54e1ad5160425a4b64ea.ant.amazon.com (localhost [127.0.0.1]) by u54e1ad5160425a4b64ea.ant.amazon.com (8.15.2/8.15.2/Debian-3) with ESMTP id w1LHlgme006708; Wed, 21 Feb 2018 18:47:42 +0100 Received: (from karahmed@localhost) by u54e1ad5160425a4b64ea.ant.amazon.com (8.15.2/8.15.2/Submit) id w1LHlfWN006695; Wed, 21 Feb 2018 18:47:41 +0100 From: KarimAllah Ahmed To: x86@kernel.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: hpa@zytor.com, jmattson@google.com, mingo@redhat.com, pbonzini@redhat.com, rkrcmar@redhat.com, tglx@linutronix.de, KarimAllah Ahmed Subject: [PATCH 10/10] KVM/X86: hyperv: Use kvm_vcpu_map in synic_deliver_msg Date: Wed, 21 Feb 2018 18:47:21 +0100 Message-Id: <1519235241-6500-11-git-send-email-karahmed@amazon.de> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1519235241-6500-1-git-send-email-karahmed@amazon.de> References: <1519235241-6500-1-git-send-email-karahmed@amazon.de> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ... since using kvm_vcpu_gpa_to_page() and kmap() will only work for guest memory that has a "struct page". Signed-off-by: KarimAllah Ahmed --- arch/x86/kvm/hyperv.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c index 909b498..870fd24 100644 --- a/arch/x86/kvm/hyperv.c +++ b/arch/x86/kvm/hyperv.c @@ -559,7 +559,7 @@ static int synic_deliver_msg(struct kvm_vcpu_hv_synic *synic, u32 sint, struct hv_message *src_msg) { struct kvm_vcpu *vcpu = synic_to_vcpu(synic); - struct page *page; + struct kvm_host_map map; gpa_t gpa; struct hv_message *dst_msg; int r; @@ -569,11 +569,11 @@ static int synic_deliver_msg(struct kvm_vcpu_hv_synic *synic, u32 sint, return -ENOENT; gpa = synic->msg_page & PAGE_MASK; - page = kvm_vcpu_gfn_to_page(vcpu, gpa >> PAGE_SHIFT); - if (is_error_page(page)) + + if (!kvm_vcpu_map(vcpu, gpa_to_gfn(gpa), &map)) return -EFAULT; - msg_page = kmap_atomic(page); + msg_page = map.kaddr; dst_msg = &msg_page->sint_message[sint]; if (sync_cmpxchg(&dst_msg->header.message_type, HVMSG_NONE, src_msg->header.message_type) != HVMSG_NONE) { @@ -590,8 +590,8 @@ static int synic_deliver_msg(struct kvm_vcpu_hv_synic *synic, u32 sint, else if (r == 0) r = -EFAULT; } - kunmap_atomic(msg_page); - kvm_release_page_dirty(page); + + kvm_vcpu_unmap(&map); kvm_vcpu_mark_page_dirty(vcpu, gpa >> PAGE_SHIFT); return r; } -- 2.7.4