Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp3390761ybp; Sun, 6 Oct 2019 10:53:54 -0700 (PDT) X-Google-Smtp-Source: APXvYqxYJygtGxCd8TdtzfGm94FJHsP/HYofNBFQRgsnqOVQkv6ZY63IQQZwpEBvRQqoL1JGvemg X-Received: by 2002:a17:906:e088:: with SMTP id gh8mr20336672ejb.246.1570384434809; Sun, 06 Oct 2019 10:53:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570384434; cv=none; d=google.com; s=arc-20160816; b=fUIDpzf5HWOKUSVquqS/p/H35sxbbyeE+9TRhvUDWLkH/DS1igLrPvnrDV136g7BYq 4LrQ6BnJdBeal9KunaJ5OkojUKX9Fab52C7lanazRn4gYqOEqiH7cz0zFEVkUcP8Lz6e 7XSbXgsXyfILERLelLdpmam5ZJBBaWMtABCbQH3p7D+SZ/lIUrAD3+LF2i0stiPJufNP ZuHAhfiADDFJyEQUVuh24o5e86b6wqkZMqhckBwsSJomI6YqOLs+mSV5jPjuJLgMnPP4 Y9lzyi6hA+YnGDpgHpiEg7t7RE2uwX7KO1wwWQWMv/tVJiNS9U++rQ7IeOlzMg1qrhIC XxPw== 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=Mdho5rloqBZJ44CNkec9SCZPP3p9rRnVlq+I59bdxRQ=; b=Qb3XLd4Sq4J01HrsRSdO7r2t0gqjMhLkJq5DaGRalN5Mr16Y04K89XranaN0NdNAZT NPbl2qwuXxZQ8vbx6Hh6lKi9OazQvvfZd450cqLfS4T19lWQ4A3rBL7yJdVqMplPpemi I0VFojCfcj06wjLbLeVG4W5E3EnW0Fcrx5ajIsF17EqeOmbcYw/nW7uAPUld6ENFZROH SqFjIILHWCzijxM5RdCPXA0beA2Er69vSp9MdNaZ/Uqnlf/NuAM5onViXyVBbwxkPkSt W6E+IvQOaU4xsXsySNeZsI9EIdUQXzOsTyRwTuzuY2iMCQ3rMXG729JP0C1ks1z5ADKU 8fcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ziPO3uNa; 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 kt5si6031983ejb.283.2019.10.06.10.53.31; Sun, 06 Oct 2019 10:53:54 -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=ziPO3uNa; 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 S1730539AbfJFRh6 (ORCPT + 99 others); Sun, 6 Oct 2019 13:37:58 -0400 Received: from mail.kernel.org ([198.145.29.99]:37050 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729133AbfJFRh4 (ORCPT ); Sun, 6 Oct 2019 13:37:56 -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 7220A2053B; Sun, 6 Oct 2019 17:37:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570383475; bh=mEX6m77D5xfNKL3qk0Z81bvRU50ZjzXX9ZeCSI33gmo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ziPO3uNaJafIo83bVBTKgLGTyO+fptOuUwtszwLwfumuuPAKsZZ5OtEOhFZvutWxS ukchm2ThgVE6KWI3Ns0Bqi5tqKeb8B8c9O33t3kKbfddYcqy9ls8s9t8TChuDGfVj9 KmV1e2hOyI8SxjBovFDfeH/ZQjmaYIlH2VkHsyf4= 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 5.2 117/137] ARM: 8903/1: ensure that usable memory in bank 0 starts from a PMD-aligned address Date: Sun, 6 Oct 2019 19:21:41 +0200 Message-Id: <20191006171218.964237881@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191006171209.403038733@linuxfoundation.org> References: <20191006171209.403038733@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 1aa2586fa597b..13233c7917fe7 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c @@ -1177,6 +1177,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