Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp2634671pxj; Mon, 14 Jun 2021 03:37:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJws4gOmkar4GfjxnaLZxMOIylpjTJdvdgaXzHz4fg8hNJeAH351gPe7vLdonoHLzjYhVmt8 X-Received: by 2002:a05:6402:348f:: with SMTP id v15mr15930927edc.135.1623667056455; Mon, 14 Jun 2021 03:37:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623667056; cv=none; d=google.com; s=arc-20160816; b=Oeot7u3ZNzFtp5kMw0nnqOUpgj+91gOdLhPUHqkpbf2Z9t5nQYKcClfxnKyu45+Qyu 60n4o4cq8oAGr8W8i0uVpv2Y+TTd1HA1y0D5TO7qT2qVCoTrCe75Vcd2JHpV4dQLaUyO Z/v6a21TzDxXv9LXBjg/on9y7Yprg3uLIviDkOtcxkSAgwQl9O046YCehs8d+zKwvR1w NffiEwqLiB/nv7ZGl4Tk4/2cCs37L9wRKDpldNTz+nry8igcj3rMDOwOYEwbVR6jjXCk JPdmW+XYvL4O+bW9ebocMVLPd9gCsTMJsPskIyKZGrUn3+4ZWbOXuokmUujnPYZ539Jt gzTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=TI66uV5g4Qu0awF1gRYIlpiqTIu3dzHO06YpEYQ9ft8=; b=ek1wTutkMMO0W2vRJM1njwhI/CdSgOWcXsezMa5e63kSosMDneGCTaQawJjr5dKOuc 09NwyIHttvbmxIt9TzyFRcKiapZsz50o4FePXbNQYJ79dFpkSIhRXEPOABS5bYX1zDjx 71B2whiWuJaDnZL1awg/cT9T+4L9i8Kd7dPK8tVTkcHWIIWvdMYuBX7epGKftL1ds4cM s2bSLOhZHw5JfzJMLiW6xX9yHdGXxX+Mqi/keqt9b13Y+jd18YqEqqUQpkfEeFBrc3hl Vl6ZpyT/8dOXyFUlMAh2Qh5La7KG3ABvfiS8oqwH9+JCuEUK0huuHxpUiBgjnKrSpZkh +PQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=JkIg3n3g; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n3si11055540edw.438.2021.06.14.03.37.13; Mon, 14 Jun 2021 03:37:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=JkIg3n3g; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233537AbhFNKhN (ORCPT + 99 others); Mon, 14 Jun 2021 06:37:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:40118 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233197AbhFNKea (ORCPT ); Mon, 14 Jun 2021 06:34:30 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 6627D61356; Mon, 14 Jun 2021 10:31:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1623666718; bh=5bqUyuGC4qPAzcsbT4hkqG7eCZ5cUtOm6k0n5Fu7zvY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JkIg3n3gr6Qyb/qhcmBRUVah5XVM9EAHxUimGbfnSV5gwjD1xpLl93Ur20HblxbpX qgq43OC3u7uTZelmQQ58b1y+ppwsqLoxvcwARt73Hi/ZNHove8ylT3Qg6LFtlYtN3k Sac1pM7mNem/eWDAz3njAi1sX5LEZ7I/yzTndPyM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Paolo Bonzini Subject: [PATCH 4.9 37/42] kvm: fix previous commit for 32-bit builds Date: Mon, 14 Jun 2021 12:27:28 +0200 Message-Id: <20210614102643.881341114@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210614102642.700712386@linuxfoundation.org> References: <20210614102642.700712386@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Paolo Bonzini commit 4422829e8053068e0225e4d0ef42dc41ea7c9ef5 upstream. array_index_nospec does not work for uint64_t on 32-bit builds. However, the size of a memory slot must be less than 20 bits wide on those system, since the memory slot must fit in the user address space. So just store it in an unsigned long. Signed-off-by: Paolo Bonzini Signed-off-by: Greg Kroah-Hartman --- include/linux/kvm_host.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -939,8 +939,8 @@ __gfn_to_hva_memslot(struct kvm_memory_s * table walks, do not let the processor speculate loads outside * the guest's registered memslots. */ - unsigned long offset = array_index_nospec(gfn - slot->base_gfn, - slot->npages); + unsigned long offset = gfn - slot->base_gfn; + offset = array_index_nospec(offset, slot->npages); return slot->userspace_addr + offset * PAGE_SIZE; }