From mboxrd@z Thu Jan 1 00:00:00 1970 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 CEAB6C27C6E for ; Thu, 13 Jun 2024 17:38:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 617C68E0002; Thu, 13 Jun 2024 13:38:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5C98C8E0001; Thu, 13 Jun 2024 13:38:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4409A8E0002; Thu, 13 Jun 2024 13:38:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 2578C8E0001 for ; Thu, 13 Jun 2024 13:38:52 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id C90EA1A01E5 for ; Thu, 13 Jun 2024 17:38:51 +0000 (UTC) X-FDA: 82226575662.19.D27D806 Received: from mail-lj1-f177.google.com (mail-lj1-f177.google.com [209.85.208.177]) by imf25.hostedemail.com (Postfix) with ESMTP id 78EF7A000D for ; Thu, 13 Jun 2024 17:38:49 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=hc+c1qq8; dmarc=none; spf=pass (imf25.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.177 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718300328; a=rsa-sha256; cv=none; b=nTttEfGcuOD49Shx8DBqaTSvHiUGCTxizXNiz445nKmEk24jRQnxCA2xtoWv1VW6tTDfbo mQI9XncLnLPR37Q2jDtrEORoScrCVYIqfgTlcugPwvjtwo6D7BXjVxPo1duuXhJqShnLih B8FhUka3tWyhNXvca+LzAQtDoOkEW5U= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=hc+c1qq8; dmarc=none; spf=pass (imf25.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.177 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718300328; 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-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=duvBWZAfOAJXQBLKoqD/ee3JGbLIv42ynDQwfWnNWn8=; b=Ki47sslwhZRFa+EM8EoDzkQpdvWhZES7c4ECCquiP58E1ekGCJYBJ6KXnftylwR5gTDl4s UfxRd2d1eFLV6GSEplT0iTT9wD56jKguliwjkHfB9GM1bd83NI+hj0ycrUokWQUH/qu4x+ RqYnIpWJr/cQlfOAZnTReevDUzoX+9A= Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-2ebeefb9a6eso12647401fa.1 for ; Thu, 13 Jun 2024 10:38:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1718300327; x=1718905127; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=duvBWZAfOAJXQBLKoqD/ee3JGbLIv42ynDQwfWnNWn8=; b=hc+c1qq8v8aJEElauIAH6zpFBwNTrmHeop+fH7Qs7LGUKdP2ZK077RamlgBvfpkQZq YvroGeNGaDYfB21bBGaiS3+P6YuioX67h1Ul0RNpFFvVlnIrqPp8Y1dlfjkPFK39Vv62 7zPWXRmegkqz4z7CccBwFB5m4f7xVT0p/jueU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718300327; x=1718905127; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=duvBWZAfOAJXQBLKoqD/ee3JGbLIv42ynDQwfWnNWn8=; b=nWRsnlHz0o26IZRcgOR8CjcJwxsw38FbREaa1IUlYKBUnA5l4BfPK6vyDmVFbJ1ZR6 y/n1QDzfVRrARYRjZZLbrXJsF+dC9diRYaG7Pl5MboPBk8qXwYqPpNa1+RJbEb0o9r10 HeSG59wBzrLa5GYAGIXJrnF+z7Hll8g9H7byI/1ge3RVy8mfoatnPWfa3nOhSN66JIoQ Hn9gn0ZhkQpNpRLNiKGZ8yW6w4faPm2iwYf/STiQ2q8Ehx7KFGeCLLwHSzt7MHQSNguv mBKlz8JMjPd77+f2ap1zpoAtU1r4X8JbILTNzzkI5SUyh/Vi8Grq04+Ed8q3qDT0cl6Q bPlw== X-Forwarded-Encrypted: i=1; AJvYcCWZpccyWOgw2r3v1bhH6D2M0if0Jo9yzc6JIOP8QlLL614BUlVUaXb7uccEuYXEB3/AVklwmueAvVVKy/mCe2/JLC4= X-Gm-Message-State: AOJu0YxwkT/6HEfh2IlbdbyaCr/W4gBOGkZy7Id8Cak1oWyFrVdPbbyx lqYyaxtcP5noPEmG83eVKuOfL8oRke0nrb2CO1G7tD5ihS/YaTq+x1+BE9oq4F78gAUTBCiohE6 4rM/ClA== X-Google-Smtp-Source: AGHT+IGpzPsrchbVyuRAMK5miIspI3qBsni9u2jRH6OFBdqeugglOoXw/iGJ5jKr1Fa8gBEMn5oyvw== X-Received: by 2002:a05:6512:2312:b0:52c:96d1:dc79 with SMTP id 2adb3069b0e04-52ca6e56499mr301106e87.14.1718300327321; Thu, 13 Jun 2024 10:38:47 -0700 (PDT) Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com. [209.85.208.178]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-52ca282f1ccsm303055e87.106.2024.06.13.10.38.45 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 13 Jun 2024 10:38:45 -0700 (PDT) Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-2ebdfe26217so11785531fa.2 for ; Thu, 13 Jun 2024 10:38:45 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCXZNqem8E+pQvEfEnhRLjRl6nP6PSEnLzO3jrnTtZbgKafpfeDM0TOFWzbrHeg8VGH9e7bv/qVgEjiuxNCnQ9yCQEI= X-Received: by 2002:a2e:9658:0:b0:2eb:68d0:88be with SMTP id 38308e7fff4ca-2ec0e46df16mr3471851fa.12.1718300325016; Thu, 13 Jun 2024 10:38:45 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Linus Torvalds Date: Thu, 13 Jun 2024 10:38:28 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [GIT PULL] memblock:fix validation of NUMA coverage To: Mike Rapoport Cc: Borislav Petkov , Jan Beulich , Narasimhan V , "Paul E. McKenney" , stable@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 78EF7A000D X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: abwyucm5cj93tp6ztp9kjbrhpwz5pr19 X-HE-Tag: 1718300329-930973 X-HE-Meta: U2FsdGVkX1+J/QnV8qkAa5ZEDHm///2SGtq+xrTZsF6TjCaXdbygUu9HeAlX/yVIeFWRKd7ErLe6/tY7ZrsV0J13X4pLJV/En6C/wxzA9ZwoRF/71Fab7plA52PsS/zxpS85dJte59czKpueAIFssCTY8cU6Nr0r9B5pt6aL9jI14e5/X/TfvxO+L97LD3H5wy6Hpzqo3oDxFFJJ0SLlfCdCejSyo5qalkJgkztwmygyIX2HLDp1DAtSKRMvRlXcRbGh+rzNDL0P1ON0koDjrGex32v2y+b82BpESRON2l8vuIlT/npxs5BGxUPJOdV9elAKss9TO2yE9YL3pTvj4HcX0xawwJGv0aH/ScCSi0QlhlHfnuihpeUxa17zHHWgiMPyJ+SUxt9PGi0t2vOc+aDSrKrHR7XkaQkPEwEsHGGe2ChsnsMbxZK+dHRhGmXtXhy147jsKEiqv9V+1xLk2drO048YEu58DgkBPxsF6P9v0M6aeCXoqWZlyg4Vjym14UXKquUJ3oJjIOltO1uUCmhTMOAUCRwMA/tYB25paM56H4sttRVBs3EC32Asx/RKNd2/EuEj9loHIMRfQe4O6S9MyBXSgD84FfgA+MNvvxj4Z+Iulqp5f/vOLY8MbxdwC6UhxQEetpkQJ69IHiqBXAkrQRSufKZW9BOV37LDIeAKn4ikCFGYhblUGAuOhyAx4Th6Dd4dIWOAf61vb4gOIpOBGgOFRlCS7eUgVAiWnRJbO+APdU8NGx0H+ji24WPlpVX+wxjb9cbk6pE9nMQHygDnR/UU9vgkZd4Dz8Ps0IfVXmS12qmsR24Ll1gIyZS2HrCc/4nfZBiFpH5401FozY0M0TT0PkgqcVbZXbsUXmF6rPIv6W4QUsNhGAzI2Ay5/U0ytSi4T6FaSp6bt7XgeLSTqPp85IJZyTdYPSz1KQIVwUiNdqYOYgF4HI5aPu4YI1poY4m3wKVfuXVVUqr gM45kXKn NfI8ODd0SW0BSwnlZV+wn7nWXgTdZyV9zc9iqccIwz1AUE/6UdXNiS9MN7T8+ysKS5bZEKUS8spPIvAT4GfvKmwViwvvtLD9z/sNoZ5C6yJW1vbp5Zt8Yg4Gpwa3GpB9rE3OZ0czD9y1Ki8XBCg/yN6hA2KmkTkuQgrVb2ZJyGQo+wNhFiK9l8VUsV3wWRIXxnMtGlyhnabKWdiw9hSVn58rjaWhiNQU7mbzEQaIptowBOjzPP3t07/b0i5xBS+jAYm+anIBXmcfRZa6Z57FNnQ5dznoOSPE/UvA80SAPkfZnZ1xos2OzAx0HYIijUF4IVGucv+/nvD1PTbsnKtrOhUdxTzXKN26TP/jzFCa8sm6f2tPTRsBUKCDi7UihjmaTviN432d7s80lGfHaFcXZVr7QHZzLuPPxeHwT50MZ4XXK5SrnUY0mhb/IaB0/ZIpnQd0K8DmMcsv2vI3Z0P6TBgQlO3k/dr0cbUQVt+ziGFEH5lzSsitqb15w+HY/kUhvQBaA 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: List-Subscribe: List-Unsubscribe: On Thu, 13 Jun 2024 at 10:09, Linus Torvalds wrote: > > Is there some broken scripting that people have started using (or have > been using for a while and was recently broken)? ... and then when I actually pull the code, I note that the problem where it checked _one_ bogus value has just been replaced with checking _another_ bogus value. Christ. What if people use a node ID that is simply outside the range entirely, instead of one of those special node IDs? And now for memblock_set_node() you should apparently use NUMA_NO_NODE to not get a warning, but for memblock_set_region_node() apparently the right random constant to use is MAX_NUMNODES. Does *any* of this make sense? No. How about instead of having two random constants - and not having any range checking that I see - just have *one* random constant for "I have no range", call that NUMA_NO_NODE, and then have a simple helper for "do I have a valid range", and make that be static inline bool numa_valid_node(int nid) { return (unsigned int)nid < MAX_NUMNODES; } or something like that? Notice that now *all* of - NUMA_NO_NODE (explicitly no node) - MAX_NUMNODES (randomly used no node) - out of range node (who knows wth firmware tables do?) will get the same result from that "numa_valid_node()" function. And at that point you don't need to care, you don't need to warn, and you don't need to have these insane rules where "sometimes you *HAVE* to use NUMA_NO_NODE, or we warn, in other cases MAX_NUMNODES is the thing". Please? IOW, instead of adding a warning for fragile code, then change some caller to follow the new rules, JUST FIX THE STUPID FRAGILITY! Or hey, just do #define NUMA_NO_NODE MAX_NUMNODES and have two names for the *same* constant, instead fo having two different constants with strange semantic differences that seem to make no sense and where the memblock code itself seems to go back-and-forth on it in different contexts. Linus