Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp2851142rdg; Mon, 16 Oct 2023 17:54:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFcjTSHz1FNVtvaZnnSB7W3Bhm8h0SruLrhAYIOSPOwtMiKyXZLfqyBFoaOEMjo4E3u2hek X-Received: by 2002:a67:a249:0:b0:457:c57c:ef13 with SMTP id t9-20020a67a249000000b00457c57cef13mr877933vsh.31.1697504063241; Mon, 16 Oct 2023 17:54:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697504063; cv=none; d=google.com; s=arc-20160816; b=d1gfv4cHfDDKux4r2FK2/7DtIK+v9MHxZ0UQCUhMSWjUy3Ob5cQXWi1xJUb59dPg3/ 4Ga51RQ13NBjq89SjgcDQASfb96FpDwEiLVrslYxs9KkCGqHfrO8OTJscNk4kocjzej7 TZlBOyCT6PvIIeL22HoUFKTQ5rX+Irxf+3onltYM6JXmt9ublLey+8sSygRft5j1vx4x mSdweEXvy8Xt1D1YmkydcQqkdgtMCN7jdmolZhKfzoVF0LBTk8zCVM3LCGqgJnXKuJFO Fw4Hz5810Z/XgK6bEqNVEzcUX0haBIgdB29Z59VWVgE+jWGEfF7Kmm4yJBt+hhj5ySvf 1KVw== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=FVYfxxgypJNUOYWqlo9r89JsXo7lPpAWq0cYDAv2yF0=; fh=35qS1zR4nJl4UAp23/QWQ6efWfwmlWoeTA+EA/p7hhY=; b=rcipSFGKBGdXoAX457i5KK6KCs2ySh2djZE7ThJZhaxAc9nQh4Ky3cN5w338Z7kIZd remKeo+qSmkLA2+/DBhMnxv5ojB7c/yMfBO1HodEfMeTWif6DghnlfVcpVoMuAu4HE4C kSMkLh8xWOC8Nf+kxW2EBANo5883aaWhi50eQE3JKhKPo2/mmBL6+X7ZCBN/k0fBc3zm W3W65x69ExeYTzTfZjcRM5ntQ4TugzccE6AKNyjLcf0WHudPWLhvJGj+sVQPieOVW709 KsfCC5Q8NfkaHFssmQwMcuDPVIx2IIWhSlgzbVokH8ttF2rk1nb2AkCj77+TIQ29tozW BYGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=grk8m27y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id t34-20020a634622000000b00588d85be058si519072pga.708.2023.10.16.17.54.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 17:54:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=grk8m27y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 941D080C5CAF; Mon, 16 Oct 2023 17:54:20 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233859AbjJQAyJ (ORCPT + 99 others); Mon, 16 Oct 2023 20:54:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59198 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233549AbjJQAyI (ORCPT ); Mon, 16 Oct 2023 20:54:08 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C98F7AB for ; Mon, 16 Oct 2023 17:53:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1697503998; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FVYfxxgypJNUOYWqlo9r89JsXo7lPpAWq0cYDAv2yF0=; b=grk8m27yD4tWdX6vOHhkHP5j4831qJR5viSoPxpG8inE6NO0x2HtHuvDKkSYmWEstXO/R4 8Cp59cMn7mTw4E8nqFVUbuw4Ak0NkfP6mKWogvz8x4IiC5i3PKTJGZjfR8YdvSspr+/fAc 1y6poJKk2P3bygLJzB4CAC97243XsH8= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-590-i2a4zPEuMQ6T_suWUDgpzw-1; Mon, 16 Oct 2023 20:53:13 -0400 X-MC-Unique: i2a4zPEuMQ6T_suWUDgpzw-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CA2C5185A795; Tue, 17 Oct 2023 00:53:12 +0000 (UTC) Received: from gshan.redhat.com (unknown [10.64.136.82]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 32E1840C6F79; Tue, 17 Oct 2023 00:53:09 +0000 (UTC) From: Gavin Shan To: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org, catalin.marinas@arm.com, will@kernel.org, ryan.roberts@arm.com, mark.rutland@arm.com, anshuman.khandual@arm.com, shan.gavin@gmail.com Subject: [PATCH] arm64: mm: Validate CONFIG_PGTABLE_LEVELS conditionally Date: Tue, 17 Oct 2023 10:53:00 +1000 Message-ID: <20231017005300.334140-1-gshan@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.2 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Mon, 16 Oct 2023 17:54:20 -0700 (PDT) It's allowed for the fixmap virtual address space to span multiple PMD entries. Instead, the address space isn't allowed to span multiple PUD entries. However, PMD entries are folded to PUD and PGD entries in the following combination. In this particular case, the validation on NR_BM_PMD_TABLES should be avoided. CONFIG_ARM64_PAGE_SHIFT = 14 CONFIG_ARM64_VA_BITS_36 = y CONFIG_PGTABLE_LEVELS = 2 Signed-off-by: Gavin Shan --- arch/arm64/mm/fixmap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm64/mm/fixmap.c b/arch/arm64/mm/fixmap.c index c0a3301203bd..5384e5c3aeaa 100644 --- a/arch/arm64/mm/fixmap.c +++ b/arch/arm64/mm/fixmap.c @@ -18,10 +18,11 @@ #define NR_BM_PTE_TABLES \ SPAN_NR_ENTRIES(FIXADDR_TOT_START, FIXADDR_TOP, PMD_SHIFT) +#if CONFIG_PGTABLE_LEVELS > 2 #define NR_BM_PMD_TABLES \ SPAN_NR_ENTRIES(FIXADDR_TOT_START, FIXADDR_TOP, PUD_SHIFT) - static_assert(NR_BM_PMD_TABLES == 1); +#endif #define __BM_TABLE_IDX(addr, shift) \ (((addr) >> (shift)) - (FIXADDR_TOT_START >> (shift))) -- 2.41.0