From patchwork Sun May 9 17:30:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 12246513 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.7 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5DD54C43460 for ; Sun, 9 May 2021 17:32:38 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DFE3761041 for ; Sun, 9 May 2021 17:32:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DFE3761041 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=9Yx60J32WYE6sw1Rt+cP2JgFVIJ4rgZt4l3x3UXFKPM=; b=MjyZfgUQFa/1Pou/sALaiQWJT sfnMgb8xoch1CRvqBrA8+esaCAh2r+9wEHmI9VTq6RH3UEjOYUgAno5Id349vBys9IKVxu2w0k6hf 971sR7sMeUh/S5Qn1PKy7Uvwlw7UDXAGs6lJaVzyL/ZlmILpTdUeknRnB1UGemcHgBE6i+sXYQrHd kkVz6RZuf19azFsnVqlMX6p/Q/fifsQevpeV/f4Mwu8UEW9rL57KiDtOzbSB3AZJja2fpflICQEas In+aQw1aKklX1wzhPKnGrMgKPg/s4nfwZmPprj8TZLHdLbIj3ICY2eQSkitZ3sXYwehdaVLBEyr5k JRWKH7Vew==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lfnGx-00C0h6-PI; Sun, 09 May 2021 17:31:20 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lfnGh-00C0f7-Ot for linux-arm-kernel@desiato.infradead.org; Sun, 09 May 2021 17:31:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=aNMN409vhgmIJzMSgLO/z7XdlSTjFBeziZjCWQllPk4=; b=Kk5ktMi26Rt7EAwrzvHbafIrOn gdEXjLMsRUuQmL3j0wANsei7likpTGHDrocVFfhe5KUISG7PnJCIMQqKnbkmnfE/C+DBZICSS/Ty9 I2km6s1Cm87ywfNldvSHlr1yAMGp79UxtOp1oGPdq2hX2H93V8seaVVGrcJajNIxb9GRkjedHD3KW jH7TFZ2MPtXKbHE34XExI7rwedoWOfaBgcFDK+3AnwNDuZVGSBHObu5c25f9UF94cBjNVnfvLVj4K 9YGaMH0G+V08WCieX9+yYB4/gT0XUs4MT0juXZbGjaEqdDk/UsYfa3owAPjyGDvaQ34h5pnP/nAy2 rfQThC5Q==; Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lfnGf-0083om-6T for linux-arm-kernel@lists.infradead.org; Sun, 09 May 2021 17:31:02 +0000 Received: by mail-pg1-x536.google.com with SMTP id t1so2779606pgl.4 for ; Sun, 09 May 2021 10:31:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aNMN409vhgmIJzMSgLO/z7XdlSTjFBeziZjCWQllPk4=; b=P+OMkYQ7A+sLfxZZmzEuMGJxRlvGVCuZbkjdTScwF8J7B5pwMK0Mk1B+IfeRFgfySG wbZWbu6PvqIe01dViRENocFkhT6KjxQ9vPMKzLVztgUHAbQc8YEJ/cdHpjBDrQ1t74kt oBAeKGTimWUuHSAedCR8++7/PIpttMvxpxBZ32RqYGsjN0vgj4fmXsIi0/QSm61tzYTK J8erTgUpFncH71EUOSa1xgtr3TPPzbAaAnE0+KH2VtWKv9s/a9yRGjs4kGAoptax26Jt NoOcfDg9EzM6UipOdZ7tcla74LkUrfuYIUWnQkAwJUA3dAnlF+X7ZM02e2lxUPwStk5m 0Daw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aNMN409vhgmIJzMSgLO/z7XdlSTjFBeziZjCWQllPk4=; b=bR3nIyh2qg1Bo9xgvZ3xxArJ/27YTLldZpH1samhj5AK7qNKpG8WaKlIyL/SwRUo9f b1FwWvU73u8nnSw7aE02nWTFHd6HWMSg4FDl/hQkFCwgs60Fb769mmmcDwGkxxxLgBza dVmqvasvcjz+NnFY9AD//fYfxK0SBBRvyEQDZnWe9B7GJdnvM3NachaGbBIQTm/PV2PI uaK9B2yS1TyhRtYwkKxuhuUSgSns04xOmZHpOM9XgKtSisgNvaAiK+axbR+7uNuBKf+K GfcFZ1fap1nO21gmtlAJg7vH08FpWPtLrz1slQt2O+5X5rIOQz48FQrceDPl1qnd1G4w I1DQ== X-Gm-Message-State: AOAM531C5PT74FIC6ePKqOfqiyDwVxNPB+aIVAnG1jbDfo8mq3Bhy4dx YkTdKrX973ybdwQh9qcpoiw= X-Google-Smtp-Source: ABdhPJy24QQy2Q++3mjtv0Ha+BD4/fNVUFleMBiLcP1fKnKXsC7A1rDCVIZRJF6XJDHO0A6HihMWDg== X-Received: by 2002:a63:3d87:: with SMTP id k129mr21102328pga.57.1620581460390; Sun, 09 May 2021 10:31:00 -0700 (PDT) Received: from fainelli-desktop.igp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id d129sm2637918pfa.6.2021.05.09.10.30.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 10:30:59 -0700 (PDT) From: Florian Fainelli To: stable@vger.kernel.org Cc: Ard Biesheuvel , Joel Stanley , Marek Szyprowski , Russell King , Florian Fainelli , Jonathan Corbet , Russell King , Nicolas Pitre , Linus Walleij , Mike Rapoport , Andrew Morton , Nick Desaulniers , Joe Perches , Max Filippov , Tian Tao , linux-doc@vger.kernel.org (open list:DOCUMENTATION), linux-kernel@vger.kernel.org (open list), linux-arm-kernel@lists.infradead.org (moderated list:ARM PORT), Greg Kroah-Hartman , Sasha Levin Subject: [PATCH stable 5.10 3/3] ARM: 9020/1: mm: use correct section size macro to describe the FDT virtual address Date: Sun, 9 May 2021 10:30:29 -0700 Message-Id: <20210509173029.1653182-4-f.fainelli@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210509173029.1653182-1-f.fainelli@gmail.com> References: <20210509173029.1653182-1-f.fainelli@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210509_103101_261515_C9611D02 X-CRM114-Status: GOOD ( 19.91 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Ard Biesheuvel commit fc2933c133744305236793025b00c2f7d258b687 upstream Commit 149a3ffe62b9dbc3 ("9012/1: move device tree mapping out of linear region") created a permanent, read-only section mapping of the device tree blob provided by the firmware, and added a set of macros to get the base and size of the virtually mapped FDT based on the physical address. However, while the mapping code uses the SECTION_SIZE macro correctly, the macros use PMD_SIZE instead, which means something entirely different on ARM when using short descriptors, and is therefore not the right quantity to use here. So replace PMD_SIZE with SECTION_SIZE. While at it, change the names of the macro and its parameter to clarify that it returns the virtual address of the start of the FDT, based on the physical address in memory. Tested-by: Joel Stanley Tested-by: Marek Szyprowski Signed-off-by: Ard Biesheuvel Signed-off-by: Russell King Signed-off-by: Florian Fainelli --- arch/arm/include/asm/memory.h | 6 +++--- arch/arm/kernel/setup.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h index bb79e52aeb90..f717d7122d9d 100644 --- a/arch/arm/include/asm/memory.h +++ b/arch/arm/include/asm/memory.h @@ -68,8 +68,8 @@ #define XIP_VIRT_ADDR(physaddr) (MODULES_VADDR + ((physaddr) & 0x000fffff)) #define FDT_FIXED_BASE UL(0xff800000) -#define FDT_FIXED_SIZE (2 * PMD_SIZE) -#define FDT_VIRT_ADDR(physaddr) ((void *)(FDT_FIXED_BASE | (physaddr) % PMD_SIZE)) +#define FDT_FIXED_SIZE (2 * SECTION_SIZE) +#define FDT_VIRT_BASE(physbase) ((void *)(FDT_FIXED_BASE | (physbase) % SECTION_SIZE)) #if !defined(CONFIG_SMP) && !defined(CONFIG_ARM_LPAE) /* @@ -111,7 +111,7 @@ extern unsigned long vectors_base; #define MODULES_VADDR PAGE_OFFSET #define XIP_VIRT_ADDR(physaddr) (physaddr) -#define FDT_VIRT_ADDR(physaddr) ((void *)(physaddr)) +#define FDT_VIRT_BASE(physbase) ((void *)(physbase)) #endif /* !CONFIG_MMU */ diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 694aa6b4bd03..f90479d8b50c 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -1086,7 +1086,7 @@ void __init setup_arch(char **cmdline_p) void *atags_vaddr = NULL; if (__atags_pointer) - atags_vaddr = FDT_VIRT_ADDR(__atags_pointer); + atags_vaddr = FDT_VIRT_BASE(__atags_pointer); setup_processor(); if (atags_vaddr) {