From patchwork Sun Feb 12 11:10:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qi Zheng X-Patchwork-Id: 13137387 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 17DFBC05027 for ; Sun, 12 Feb 2023 11:10:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 55A006B0073; Sun, 12 Feb 2023 06:10:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 50A246B0074; Sun, 12 Feb 2023 06:10:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3AA766B0075; Sun, 12 Feb 2023 06:10:39 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 2730E6B0073 for ; Sun, 12 Feb 2023 06:10:39 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id ECFBBA0688 for ; Sun, 12 Feb 2023 11:10:38 +0000 (UTC) X-FDA: 80458371756.05.3D02213 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) by imf05.hostedemail.com (Postfix) with ESMTP id 16D83100009 for ; Sun, 12 Feb 2023 11:10:36 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=IUs1HJ9v; spf=pass (imf05.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.216.47 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=none) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676200237; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=2vj3CqwZGdEJq6TnmgvklBeQzIVsiCyTs4essffNxDE=; b=JRXtIkcwP+I94wMsUzf1tGGnLXTB27SSRtPOd/+H+F+lsd/+fE5SifwWzjVpf45X3gbuRM oVZnubyHIx0yGQhgU1k/ldQ6ZQpc4Sn/FRvRfo/9qoKb+km2UgQPWRCcJybjlLftKvMixK 7d32Cfh40qcwNF9rBGSPu1fEZwHp50k= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=IUs1HJ9v; spf=pass (imf05.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.216.47 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=none) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676200237; a=rsa-sha256; cv=none; b=fGCRj1mzlMzUuNOkGqmTcT/Zj/wmhLxl1YF6mghIwerQhjXQdZEF2nN0rQ7HuFy/nFf1jJ gYm5qu7fdqQDccSGuFPLxAZsv+abHNdnr+xLlu8Mz0ZlBFMCiy0ELWXl1ZjB3L2YeDynl0 N+VUGKIrat4kld8eSwk1EKbzEMO+XOA= Received: by mail-pj1-f47.google.com with SMTP id d2so9419505pjd.5 for ; Sun, 12 Feb 2023 03:10:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=2vj3CqwZGdEJq6TnmgvklBeQzIVsiCyTs4essffNxDE=; b=IUs1HJ9v6ffF7K4bizanUhy7IgWUOu+k0/TnIYSfm0HHZ3Y16O7Oj0M/+0JkuUhnX8 GNWebkZi3J+OTBGGmz+GLUIuRCYiJA5qTrmK5vtenvY1qW7NPhO/ea2Bh06wQ3eUiO5+ b9UqsnKqgEI/ZeMC7MMkUxzcpWZGIpU6wlrYXBpxbqRx9WYRsxaRB4AmbvBcvwYhpxAo Vw8jyecrrfSRRin5qx3oJmR4tFkcizkNiQ48q54iCH40XaDe0g7kjJ8I9OjwWYITc9im nthjOMXCP1SEnFyQK4vkywxSYyKf8JlW6rKchc4VlNsnXSj09ZARZzYirBcGrujqc/b8 yE8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=2vj3CqwZGdEJq6TnmgvklBeQzIVsiCyTs4essffNxDE=; b=jijL3+ifAJWnDhXZ5Ae2/byYWcBBdFcMRREu4n58F8B3A8VeX4vU2SczZ3AC5Sa3oI ZrtwAT6HB2G979VsOlK44BRn1bHGDwOYGp0kBy6YeozlPnEDSQY772cp+OOp/HDNlgLr 6pphKamE2uLipShNeAomSx63ZK+W/FYgYq9d+VzdO7wdOmdlTu5zouXrJW7jfZEEOCik iXS3/SJppnW4wA/o+uzhyPEMlnJFYP3vlD/1aZYCBAq37b00GWLCn9RCd6shwmMHyPm8 6K6iToM4q0UaI15W8aAMs+Pfv23nfG0GNSEYWfvUwfIdxuYqZmS8SWAnKFbkYsLNTCjN aXLQ== X-Gm-Message-State: AO0yUKUEYsH3TpD/FUcnYzycikyBNp5N1k5B29rMdzQeFig0OSag90Z2 RM9JEoNf6zke/ibhuil8iCWyoQ== X-Google-Smtp-Source: AK7set+dHFF9S/w3YsET49Y1KoeTltxtxQaWBkNADqQ3MGjiIclWKiGrmt7CReklJY5yOgN7aywZHA== X-Received: by 2002:a05:6a20:9388:b0:c3:6ce:ac40 with SMTP id x8-20020a056a20938800b000c306ceac40mr19114795pzh.4.1676200235586; Sun, 12 Feb 2023 03:10:35 -0800 (PST) Received: from localhost.localdomain ([139.177.225.228]) by smtp.gmail.com with ESMTPSA id x21-20020aa784d5000000b005a8ab25ab0csm912150pfn.87.2023.02.12.03.10.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Feb 2023 03:10:35 -0800 (PST) From: Qi Zheng To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Qi Zheng Subject: [PATCH] mm: page_alloc: call panic() when memoryless node allocation fails Date: Sun, 12 Feb 2023 19:10:27 +0800 Message-Id: <20230212111027.95520-1-zhengqi.arch@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: abtdrr8p3u5d5dab7zeskqr67u8zxfad X-Rspamd-Queue-Id: 16D83100009 X-HE-Tag: 1676200236-216137 X-HE-Meta: U2FsdGVkX1/YSUWcOVH8rUYhAk1M0JxvJ0K/8nW1TjT7HfQHu4ckUCsBcCf2Z59HpODUt9SbxJzDALUFq34hVaDK0sYqegKdIW8wDJNWBXXLJ6dPIRqcEuW9R3v/WhCELAIM1P62LiP2W2je8ywa1C0qyQdVB7umC+Buyx6AaySp9Qso7CCzyWRpNLl2NmuAYHV8rCxe+khasNrduGEocXPZZTUWxG8W1xs1axIh5xOYRCLEGzx4UCOv49Pj5TcfOyM7Up9fuzFH6ivnZTGDi7t6glrXQDRbmf4yzPAG5AqrSr07EBahhy3iUD5fqBbG9NfJUurEJFPC7PPSPjYtI0KOCxFZAXL4dc8YYrOREETzcOD6fHOh+r8nf5iHKyMU/lkWQKHTn3r5O7cB8HCeAiEV7QCDeXIOlvumoA9ZQ3rVzFpcbXk/f7kE44AsFCC07WVCULue0/QGNXfNNy6N9P5EvHyMtbxmeCdvJ8/iGJG9DbQTRUjyeuH0aJe18Rnu4bK+cVGhMdEaFaBb3KTdPB20b8rh4jwluH27MdIUac/9AIYSZMaFJ4aFbDRfrwPsJsR/WuFg6qpqRyBX7An3wsLUFwrIpt+uKJIlIePU+hYEgkUQuCA+M6IVcCrnjgnFHfqEAADgK0wUXl07/3o2IZouwddWrUjH3qre/1SEMq2IEtRDKgvVQNVcMN+VtgALGnmDPInlwyEOh2fhbT38QJVqOXRdcPYbKx3lcw2C7OEtQvYJhEyupdr7ioQ6CMAvdAd7YC1Njbwg9j3Ft9WWSilYCdxHosjsiTbLF85Yb+eXbKbeX71h+IxGTNrTtxEs7YfisBxEj1hqn1crgdES4CGZQVkWToqSVaEw4YaHS2BwV3pywt65NYRsDVrDsljez/c4RmjfqANP8MsbzQzpURmsd/6jdVyRrKTxi1bPjS45L0Olp8T/bRYeObv8O/f2rzP6VzmCClAsvdLWgoy J4AhHb7T 3iEJcrrAbP6HeSnhpBuxQIr7i46DWDx51ItCSNyh2Z/iV2QxW/Y0ZUDZaqfkiwzMdBzxGEAlz0D9mqz2sk7/zF/wRmLxSMGD+bPesGIaalz6oRV60h3HFGwGjJGjyZL7awRjv2P1Gtzy1n1XABpYzByHIBZC3UgJ95I0vKK8zMVi5Cp5oQL7JSyZugAJmAIxZI9t5nHxG8x9cH9dub5pYFGBnjnSaZinSZU1O1MO+hGoL1apSaGZ86QVs46mcp5FqAxB451x38BiOBs8S1MVRZL5YJX9Ob4xj7GSUv6mwsjWCV/hyCZ9PBRjr9X7Wd/qjCsAI9YaFaSdPCtMWGMbrmTMXIeHFKVn5s2vCbyvwEhyXyKfiHSsKRicWVyIER5PQWvIc3BGguJt81TVq8+G+82mfIyz9USBpFY++tOb4ygHeqyRveVBZxukSXu34lzWMLFbYuXKijM2KJciBd1wgqOYHMLROiiQV9G4PT7EOs2cOLL27lJgfLFvFQludwRsCuS/dHwISiQXOSKnPe8Mi8G2QdA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: In free_area_init(), we will continue to run after pgdat of memoryless node allocation fails. However, in the subsequent process (such as when initializing zonelist), the case that NODE_DATA(nid) is NULL is not handled, which will cause panic. Instead of this, it's better to call panic() directly when the memory allocation fails during system boot. Signed-off-by: Qi Zheng --- mm/page_alloc.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 0745aedebb37..588555754601 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -8360,11 +8360,9 @@ void __init free_area_init(unsigned long *max_zone_pfn) /* Allocator not initialized yet */ pgdat = arch_alloc_nodedata(nid); - if (!pgdat) { - pr_err("Cannot allocate %zuB for node %d.\n", - sizeof(*pgdat), nid); - continue; - } + if (!pgdat) + panic("Cannot allocate %zuB for node %d.\n", + sizeof(*pgdat), nid); arch_refresh_nodedata(nid, pgdat); free_area_init_memoryless_node(nid);