Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp3376583ybp; Sun, 6 Oct 2019 10:34:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqwqcaJyreAa6MFt+Xf9BSmbsSy6kB/xGXm7hyCGxgUvCmiBnTHqADZ5OAl8eT8TUzU0Rfbx X-Received: by 2002:a17:906:6010:: with SMTP id o16mr14748020ejj.191.1570383285783; Sun, 06 Oct 2019 10:34:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570383285; cv=none; d=google.com; s=arc-20160816; b=K8pcpXjAvjDVVZmiFdjL9BplUxRZv/Y+I4wugPi3hO8FitcBycqOqjQoRerHh7da6D FbggUWFL4xNUUYODM4PeXVoxlkf3MKi+b+l6lFyFg89lJbk6RAzpoBG61CAe2Kn027i9 l4nUr4ynx/qTkI6xEh8SPY7sE0MEvbR067flQ/RFnv+Hm0io7CgdBZpM6E5g7C50bKfm RBUsrFBe3YAqvn1gIVIBpqKNrMLzcx3mrpWLdzzHldte5Ze8bcFIBi252HhO31l53OwN UU38vdS/jVga8TO/i2tl/bUxATb5AFdoC+RC8cUzlr2q2EDNy4t3vkm0Oo3vF92RxSe9 Otfw== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Ub5Qrss1f36x5FEE5M9icwjT65JDBNgFAAUuCjxLxfc=; b=aj9H0YhmSoUhEA1ttWo5HSUNgysBeMZ2RZlF1kamFITOyukWbNkPtVWwEdzufWkZnZ /VSlDw/LyDmkk6oLZK44XtmrJHZhTAaK+iY2tPi7KpM1XsGM/rnaJWmTJw9IoMV1891y w9/q5IODV5cpomY2z05xYV4hhi9u+qK8XEtq8SLSbc+/akNfCE3ZKcKJ3XVrhnky+avu k+4c0ThWaKCZiRoo40p2nEGk/eVytSkGPgY0dWeXM067XUBmKAXHcywN1AWaTnaKQpxs 2cqBDXyYfEKe/UV30Mf+G9xB3XK2b+tLMZ/whXxStmek6JXz9BJGAerhBPIe+o1WxmRu PewQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=vwtrygrd; 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 y2si5762444ejw.308.2019.10.06.10.34.21; Sun, 06 Oct 2019 10:34:45 -0700 (PDT) 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=@kernel.org header.s=default header.b=vwtrygrd; 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 S1729317AbfJFRay (ORCPT + 99 others); Sun, 6 Oct 2019 13:30:54 -0400 Received: from mail.kernel.org ([198.145.29.99]:56842 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728047AbfJFRat (ORCPT ); Sun, 6 Oct 2019 13:30:49 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5AA5B2087E; Sun, 6 Oct 2019 17:30:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570383048; bh=1gGCjJia8yEAWiHCMurLorhELpMT7PCKhoCa6fsupq0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vwtrygrdJMWrCsfj24H6MIjKItxI8cwHBa4f3uZNWtt8YjwJ51xjJYpSuS2WNj2So hqtVa/Jf1sSNbm4uAjtv1ceg4VuQtWCvmLO/YtQcv4C7cIDyS1rZ0N2TbE1LExPfHQ zH66/mWgVPuIGWp4TTkb2gzrMLa3n1U95BtZR9JM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mike Rapoport , Russell King , Sasha Levin Subject: [PATCH 4.19 066/106] ARM: 8903/1: ensure that usable memory in bank 0 starts from a PMD-aligned address Date: Sun, 6 Oct 2019 19:21:12 +0200 Message-Id: <20191006171151.524099905@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191006171124.641144086@linuxfoundation.org> References: <20191006171124.641144086@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mike Rapoport [ Upstream commit 00d2ec1e6bd82c0538e6dd3e4a4040de93ba4fef ] The calculation of memblock_limit in adjust_lowmem_bounds() assumes that bank 0 starts from a PMD-aligned address. However, the beginning of the first bank may be NOMAP memory and the start of usable memory will be not aligned to PMD boundary. In such case the memblock_limit will be set to the end of the NOMAP region, which will prevent any memblock allocations. Mark the region between the end of the NOMAP area and the next PMD-aligned address as NOMAP as well, so that the usable memory will start at PMD-aligned address. Signed-off-by: Mike Rapoport Signed-off-by: Russell King Signed-off-by: Sasha Levin --- arch/arm/mm/mmu.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index e46a6a446cdd2..70e560cf8ca03 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c @@ -1175,6 +1175,22 @@ void __init adjust_lowmem_bounds(void) */ vmalloc_limit = (u64)(uintptr_t)vmalloc_min - PAGE_OFFSET + PHYS_OFFSET; + /* + * The first usable region must be PMD aligned. Mark its start + * as MEMBLOCK_NOMAP if it isn't + */ + for_each_memblock(memory, reg) { + if (!memblock_is_nomap(reg)) { + if (!IS_ALIGNED(reg->base, PMD_SIZE)) { + phys_addr_t len; + + len = round_up(reg->base, PMD_SIZE) - reg->base; + memblock_mark_nomap(reg->base, len); + } + break; + } + } + for_each_memblock(memory, reg) { phys_addr_t block_start = reg->base; phys_addr_t block_end = reg->base + reg->size; -- 2.20.1