Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3314336pxf; Mon, 15 Mar 2021 07:00:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy4vLQrsC4wHIeWnnxff1DufR2Z0rdnqIFownHjHkjprD4BtYQo8ms5kQIr+v8M9XEeKHx8 X-Received: by 2002:aa7:c857:: with SMTP id g23mr30647473edt.86.1615816808470; Mon, 15 Mar 2021 07:00:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1615816808; cv=none; d=google.com; s=arc-20160816; b=yE3HZ7eDdlINrWNNQDlxyUpeKF1zGU1mCwW6LlkcckI9XCZ1Uv5ntXwZ90T2/IQaU0 gBbihtWUKmcuExIuakvyL4rkj4kjaSg2cn0TaVxWFhYAOKFlkfkW8p7pl91GKHqDt655 DALfVnmhPBu3a6c2nQpDuITRucnWIjkU5srboPGTBXxP9YIC8F40hT9i2F8aNwsDliqz ndJerD192+tHbEmfmiuogtpN+dgemmzQEY9yM/OY4YauCvqKLJWEOAI9J7WBz8RMc6NM gPo3fXV5Kk5y/fI2P8+WjnyT3pKbydLtwi+34F+jTVptZT6R8RikCm/PFmaYc3RFX/Ka L7JQ== 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=NgwTOB5+5nuL1h9NGqZy/wccuHaPqC6fkM6vU5/LHrc=; b=ld0SDW33/WfV+p/9qPLof+F/f2cFF1NkUhCH8/ryBcXaM3SeYKMgcSDwGc03CHM5Bw UMoqRA5x+Ol17xjQE42LU9CRRgL95hlvRWGwsM9K+ZAMJ1ktdCYYHOwvjDivItsh56UC 8+5ZJ3MT42HzjL8vKJ3P1cQoE+8whTQiOwwtgQ8EfMas/cMWrd9IMJ9tn66MZibQdGQU YeIk3Rhs8ghzGb0Nla3jgOfdZCyaHW/rlSjo51p0zzclApT0SwlgMZzKTWDn1BXumwmW rj0kHA/RErLtGiDwP7/3sdmHuqqg4trhhEIVKnrC2zGqjt3ySW0ncFoPCE5E6iAc03P1 SO2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=xf38cCiP; 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 cf5si11046790ejb.346.2021.03.15.06.59.45; Mon, 15 Mar 2021 07:00:08 -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=xf38cCiP; 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 S232524AbhCON7B (ORCPT + 99 others); Mon, 15 Mar 2021 09:59:01 -0400 Received: from mail.kernel.org ([198.145.29.99]:58660 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231224AbhCONyo (ORCPT ); Mon, 15 Mar 2021 09:54:44 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id E946964F33; Mon, 15 Mar 2021 13:54:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1615816483; bh=RQtF6aHqWz8EBVznGslYSQ6SzT6WihpDLg7h8pkNDpI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xf38cCiPJO2RHcNI0/ipWZnFFCbRKAMFLOZIk20pRZtwPe8OOW/Hp6sYScq1FTM0V rZ6ogHtbEd8jCcpx9y2J6RMPQAMM1kgTv9ItwM7greiGPsdByNDnccPtR86bts1cvH CcCKwWz2eXlX9QXq+XDZne+cG8PymOejY4m2XOjE= From: gregkh@linuxfoundation.org To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Eric Auger , Marc Zyngier , Andrew Jones Subject: [PATCH 4.4 70/75] KVM: arm64: Fix exclusive limit for IPA size Date: Mon, 15 Mar 2021 14:52:24 +0100 Message-Id: <20210315135210.547754615@linuxfoundation.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210315135208.252034256@linuxfoundation.org> References: <20210315135208.252034256@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: Greg Kroah-Hartman From: Marc Zyngier Commit 262b003d059c6671601a19057e9fe1a5e7f23722 upstream. When registering a memslot, we check the size and location of that memslot against the IPA size to ensure that we can provide guest access to the whole of the memory. Unfortunately, this check rejects memslot that end-up at the exact limit of the addressing capability for a given IPA size. For example, it refuses the creation of a 2GB memslot at 0x8000000 with a 32bit IPA space. Fix it by relaxing the check to accept a memslot reaching the limit of the IPA space. Fixes: c3058d5da222 ("arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE") Reviewed-by: Eric Auger Signed-off-by: Marc Zyngier Cc: stable@vger.kernel.org # 4.4, 4.9 Reviewed-by: Andrew Jones Link: https://lore.kernel.org/r/20210311100016.3830038-3-maz@kernel.org Signed-off-by: Greg Kroah-Hartman --- arch/arm/kvm/mmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/arm/kvm/mmu.c +++ b/arch/arm/kvm/mmu.c @@ -1789,7 +1789,7 @@ int kvm_arch_prepare_memory_region(struc * Prevent userspace from creating a memory region outside of the IPA * space addressable by the KVM guest IPA space. */ - if (memslot->base_gfn + memslot->npages >= + if (memslot->base_gfn + memslot->npages > (KVM_PHYS_SIZE >> PAGE_SHIFT)) return -EFAULT;