Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp2981674imu; Sun, 9 Dec 2018 14:13:44 -0800 (PST) X-Google-Smtp-Source: AFSGD/Vgem7Yv+8zu0pdWwLX9MpVemOCHBesEB/mxh2G0x9I4Ub4UOeFXCIprYATqF0/nkgmAh90 X-Received: by 2002:a63:a41:: with SMTP id z1mr8816922pgk.117.1544393624406; Sun, 09 Dec 2018 14:13:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544393624; cv=none; d=google.com; s=arc-20160816; b=v2HDqIxqZZlWWzu0qe3Qq+B3niAzYWlEDHgw5vbj6BqHmYjJFtB5xzgEGSAnF+EvLJ vxG/Ekvtzk3YIVs00LKu01sqdEgZCqOaWwUJD0zWT0xAml8OJaE/mIxT5Rnx1VrTzkNu jog2UyhRziPXQSQ/ILcLXDm1d2RLSy15Oli8P7aA4q9/HTaAyLvVB5/WKjkBDXXO5gBp z06tGzE/7fA/7nCOrKfWYQWB33YbDFzPgiVJJJF6FErzSfCJVSf97OdjEJK3jXT8QsAz 37cU9Lddmxc3339CfA+D+khzDoY1cy5evcmf3FnGeJM2Y9MJ+dzUk5h7aScZZjM+0Ves 53XQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:subject:message-id:date:cc:to :from:mime-version:content-transfer-encoding:content-disposition; bh=Psl0bW+QE7BiwiqQLJBMLBEb0oJTrLY4TJlRwxQArqY=; b=YkyzqDTxDT7i+PUyVMRY86a/JIFokGvqZXsowpiH1PIwRWdQIo1NaJPLHBTbLUoiYy 7X37Ho+6NQrAJ8P95RigP5vSnm4JxNSZOeou7nIqxPIhtNTG05w4Sebur3hmO84wak15 5ta/Vavp7IHrunYCHxg/HlTEdJSLzv0wC/VpEJIOQN6NxC7I3Q7hc19U2hFzLsQ1NV5q dCI3Vy7VC/+9hFvrr9sy098T0DikX+EH6gvKCL3Qg0glSYDEkbfIpshmDqs0h+p9eehA EWgNtObLMssfdqg2Goe3SI2Iwsg4r9Ym0d4IOC5r9OYO22SWoki/W+VeG0RTwLrSBOQj 6Nhg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o7si8154093pgg.118.2018.12.09.14.13.28; Sun, 09 Dec 2018 14:13:44 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728279AbeLIWMA (ORCPT + 99 others); Sun, 9 Dec 2018 17:12:00 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:37748 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726323AbeLIWL6 (ORCPT ); Sun, 9 Dec 2018 17:11:58 -0500 Received: from pub.yeoldevic.com ([81.174.156.145] helo=deadeye) by shadbolt.decadent.org.uk with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gW73C-0002ih-5R; Sun, 09 Dec 2018 21:55:46 +0000 Received: from ben by deadeye with local (Exim 4.91) (envelope-from ) id 1gW72d-0003PI-TE; Sun, 09 Dec 2018 21:55:11 +0000 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 From: Ben Hutchings To: linux-kernel@vger.kernel.org, stable@vger.kernel.org CC: akpm@linux-foundation.org, "Paul Mackerras" Date: Sun, 09 Dec 2018 21:50:33 +0000 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) X-Patchwork-Hint: ignore Subject: [PATCH 3.16 148/328] KVM: PPC: Book3S HV: Don't truncate HPTE index in xlate function In-Reply-To: X-SA-Exim-Connect-IP: 81.174.156.145 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.16.62-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Paul Mackerras commit 46dec40fb741f00f1864580130779aeeaf24fb3d upstream. This fixes a bug which causes guest virtual addresses to get translated to guest real addresses incorrectly when the guest is using the HPT MMU and has more than 256GB of RAM, or more specifically has a HPT larger than 2GB. This has showed up in testing as a failure of the host to emulate doorbell instructions correctly on POWER9 for HPT guests with more than 256GB of RAM. The bug is that the HPTE index in kvmppc_mmu_book3s_64_hv_xlate() is stored as an int, and in forming the HPTE address, the index gets shifted left 4 bits as an int before being signed-extended to 64 bits. The simple fix is to make the variable a long int, matching the return type of kvmppc_hv_find_lock_hpte(), which is what calculates the index. Fixes: 697d3899dcb4 ("KVM: PPC: Implement MMIO emulation support for Book3S HV guests") Signed-off-by: Paul Mackerras [bwh: Backported to 3.16: adjust context] Signed-off-by: Ben Hutchings --- arch/powerpc/kvm/book3s_64_mmu_hv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/powerpc/kvm/book3s_64_mmu_hv.c +++ b/arch/powerpc/kvm/book3s_64_mmu_hv.c @@ -451,7 +451,7 @@ static int kvmppc_mmu_book3s_64_hv_xlate unsigned long pp, key; unsigned long v, gr; unsigned long *hptep; - int index; + long int index; int virtmode = vcpu->arch.shregs.msr & (data ? MSR_DR : MSR_IR); /* Get SLB entry */