Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp18883423rwd; Wed, 28 Jun 2023 01:54:28 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6Idt7DIWeuo9HJhvOLsn81xSzPl0qSq5nu3sinoQvEwEdgupQwsRA4sQicyXDzdhqPO63c X-Received: by 2002:a05:6402:1206:b0:51d:8a12:d267 with SMTP id c6-20020a056402120600b0051d8a12d267mr7770458edw.3.1687942467925; Wed, 28 Jun 2023 01:54:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687942467; cv=none; d=google.com; s=arc-20160816; b=Ue5aJ+au+qqXJ/2jrjUkaN3xqGTBgeL/Je2M0YwBGbwj/ELiqlFVuD30V1u3rHMa/M pf4NfmmFpkuL10sKzi+7EjwV389sRpxlA4ii1/XGueM+wFqFMQ+cjGGAK+GNdW1Ui3Uu X2qxZNPpLdYelD58t+KJ943dcPNIdke2Lp11gOQzplfdUekfABprKUYYpGIur5KL65eT c9c2OVV4qLbtvu7+Xxw3mHTzYNGFvP0qMmPT3U4OvPS9VZWW8MtlH/RTJlYkXKZPpuk8 B0eqZVJXFmV8hXG0n5R1UKmVolFP0n4oHI6RQLhu0I0dCzHCwu24Meh8d/NugclHN8Ix 8aDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=/uEtqU0BshXA+GWcK4ks0xhnQV1HfvZm7oqFFSxh5OQ=; fh=61b+TxF8uidktsnw+GDlAa/k86nAeY6lj73X4W9by8s=; b=bc2scDNn4kfW8erNCn5Ey9kmpleuAFiL1j57lcF3dkb6MnlSnd++TH5jXnNB3Cgx4L 35+RRgz4dwzo8XXpBmgzmZGiP7gJRNfIlYoTqWuU5pUpNCKg1gvTZju8f3bijjx7XxF7 9ZhfBErthPO49fQKkQ25Bx9pOdoqRCKvBzEq1YaRwncmN/8NyrQCRrw7GJ/iLzv5ljR5 V8PyoWjEe9swwyDhkjsbp+vjREEvJRnvynf8k0srgV7hNJyBQa8IYpi8mGdtPqapw1mE 7/KztJgFrcNlEk4NH8rsftS2djD7b+BonQxn+ywmY9MPMt9Aym1WP1SQ0Em6ZNWdMH6g qTgA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=NxJpNPK4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u5-20020aa7d985000000b0051db006e404si1450900eds.168.2023.06.28.01.54.03; Wed, 28 Jun 2023 01:54:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=NxJpNPK4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233507AbjF1IUS (ORCPT + 99 others); Wed, 28 Jun 2023 04:20:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38742 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233725AbjF1IOR (ORCPT ); Wed, 28 Jun 2023 04:14:17 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E0B8535AE for ; Wed, 28 Jun 2023 01:09:50 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id AAB6C61329 for ; Wed, 28 Jun 2023 07:34:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6C47DC433CA; Wed, 28 Jun 2023 07:34:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1687937648; bh=wMjh2mW4JXYa3sX6Q+SyiFJ+70tkbGtKkJXlOrezZnQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=NxJpNPK4Awt3qiDCFtIjjIyLKcrvXKrb4g+qeaQjkGbbphdluOdGtfcmR5h1FXxRq TbccwUiiBusOwwG87ua1KKhM9iw54JzgBYbTrkpBFYrIPbN88HH5H4BJV4NgbJ1x6f cJzz6WBhAFTAIpXcNtLLi1aQpxnJv32DkX6OSqtqy8ILBq1IoWVgriMdVrKFsv9LvC ugM+RBXvjoCUBZZjxxjejjpUxieXewm3oJTOtskXnbLadIEXWvrC3/7rlrEvQRocf3 pBB6qbWuNDCvOaHzApMXzg0ra+Ld02PxQ5TzZec5qH2VqDbUb+tPIUGc/XfD8ILZTs lLAd/kIEL6tSQ== Date: Wed, 28 Jun 2023 10:33:17 +0300 From: Mike Rapoport To: Song Shuai Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] memblock: report failures when memblock_can_resize is not set Message-ID: <20230628073317.GO52412@kernel.org> References: <20230624032607.921173-1-songshuaishuai@tinylab.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230624032607.921173-1-songshuaishuai@tinylab.org> X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jun 24, 2023 at 11:26:07AM +0800, Song Shuai wrote: > The callers of memblock_reserve() do not check the return value > presuming that memblock_reserve() always succeeds, but there are > cases where it may fail. > > Having numerous memblock reservations at early boot where > memblock_can_resize is unset may exhaust the INIT_MEMBLOCK_REGIONS sized > memblock.reserved regions array and an attempt to double this array via > memblock_double_array() will fail and will return -1 to the caller. > > When this happens the system crashes anyway, but it's hard to identify > the reason for the crash. > > Add a panic message to memblock_double_array() to aid debugging of the > cases when too many regions are reserved before memblock can resize > memblock.reserved array. > > Link: https://lore.kernel.org/linux-kernel/20230614131746.3670303-1-songshuaishuai@tinylab.org/ > Signed-off-by: Song Shuai This is queued now, it will appear in memblock/for-next after the merge window closes. Thanks! > --- > mm/memblock.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/memblock.c b/mm/memblock.c > index 3feafea06ab2..1b8e902490e5 100644 > --- a/mm/memblock.c > +++ b/mm/memblock.c > @@ -419,7 +419,7 @@ static int __init_memblock memblock_double_array(struct memblock_type *type, > * of memory that aren't suitable for allocation > */ > if (!memblock_can_resize) > - return -1; > + panic("memblock: cannot resize %s array\n", type->name); > > /* Calculate new doubled size */ > old_size = type->max * sizeof(struct memblock_region); > -- > 2.20.1 > > -- Sincerely yours, Mike.