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 D00D6E95A8D for ; Tue, 10 Oct 2023 00:07:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 30F888D009B; Mon, 9 Oct 2023 20:07:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2BF628D0089; Mon, 9 Oct 2023 20:07:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 186F28D009B; Mon, 9 Oct 2023 20:07:41 -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 077868D0089 for ; Mon, 9 Oct 2023 20:07:41 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id AC16AA0415 for ; Tue, 10 Oct 2023 00:07:40 +0000 (UTC) X-FDA: 81327613080.22.F455EE5 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf28.hostedemail.com (Postfix) with ESMTP id E9CBCC000D for ; Tue, 10 Oct 2023 00:07:38 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=M8QqAFFM; spf=pass (imf28.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696896459; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=rPPfWPehB9IwVqXA8LY2YeucqC4gfZUuB9/Cfwhhy0k=; b=MTDLN6i+e1rLKhkRiAHq9Ep07l/ZV6zRLijoNXpNhcjzeAytzpNWNdZfE7yxUCxZOM9Z8a YdnOkcViMIMOusUJ6LTBn57IXXzR87N9UT8KtKZQsGJIIMEVcUQY0xPNjLM0h9ZlwU2Cc3 qyRtU6u0ZdT9HJPM1BZwh6CzLV/qnFY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696896459; a=rsa-sha256; cv=none; b=Rel46r9XFVs47T16+QZQeBNYaaYY2OY9GI4PDT/eim6BVlmnkVaC+jPJZZy3PU9AoF462Y seEt+gXyYz0v8ACZ1NBV9/X80u7CpSuo5xdE/gHkXn/gZZjGHSXvwWdpoIyMA4ir5+Gdtx Jxt3cm9HCCMweKoE4qQWW9c21g2xguU= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=M8QqAFFM; spf=pass (imf28.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id E282360BDE; Tue, 10 Oct 2023 00:07:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AD330C433C8; Tue, 10 Oct 2023 00:07:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1696896457; bh=6b49PW5LaeMyJQFy8snvZ2ofXdD/Lial7GWWzU0yfhE=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=M8QqAFFMRc3t/UxGKQLvGIV8tdRYA5+JgGdk/vKa7VjQBYOHnaoikyMPusYG+VD3Z oBng8VDURbRPyEpjCJTzj0oTbHLrABaY9NtQ4VgcZ6ddscwqcUpylA80UiHLK7h3Cx +A0fUcfOrN128LZK3iFGviEV2zPB0g+vZracjMyc= Date: Mon, 9 Oct 2023 17:07:10 -0700 From: Andrew Morton To: Mike Kravetz Cc: Konrad Dybcio , Anshuman Khandual , Xiongchun Duan , Barry Song <21cnbao@gmail.com>, David Rientjes , Miaohe Lin , Matthew Wilcox , linux-mm@kvack.org, Naoya Horiguchi , Joao Martins , David Hildenbrand , Michal Hocko , Oscar Salvador , linux-kernel@vger.kernel.org, Usama Arif Subject: Re: [PATCH v6 2/8] hugetlb: restructure pool allocations Message-Id: <20231009170710.b52f5a6e57c23d5caecce8ab@linux-foundation.org> In-Reply-To: <20231009151513.GB3846@monkey> References: <20230925234837.86786-3-mike.kravetz@oracle.com> <20230929205731.GA10357@monkey> <20231006030836.GC86415@monkey> <5d14b681-a2c9-4210-a0c1-bf38708b7998@linaro.org> <20231006223512.GC3861@monkey> <20231009032926.GA3376@monkey> <070bd916-d4d6-41c2-9f51-af35e80c96b9@linaro.org> <20231009150401.GA3846@monkey> <20231009151513.GB3846@monkey> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: E9CBCC000D X-Rspam-User: X-Stat-Signature: jj3hhjjcf5dz6y647oar1ipd6z7kjkqf X-Rspamd-Server: rspam03 X-HE-Tag: 1696896458-83089 X-HE-Meta: U2FsdGVkX1+RCVIEipB4tHpi/EDJ9b5W+/MA8syN8IIk8VIcOyZZh+y4KNU8Gq7nrDtnv2jdeYScMOCsWJdPzW88PxzpPwdU9FXvfE54J7RZdx9sbIeIogkYQGkREZbAURda+9tZMEQUsoX7d0bZjXBHtVlIu6EBwLwvH/108DY0NmiaG8ar6xj9BSgW0cAwHLp46YUpFEpKDwU3GHWCnS3x04mY9TrWVPJaaNDrixd9SWizzgUn2qa243S6mGxu/YF3pj8RsJ07z9om4Hog7rW+ePczKGvBgtmjzbqEdvM/oIK+wBA6kWxTmKIt/2LWS+Bxnji0qsG0w+bB4VYiv4DQYpkqtalKlKwY17qWEhb2LKQFZvvZw5UNnGD35vyN/ZfjWZDFmsQke4Rs+6dQoQUwyPo3nCENXoDvycx3B/dUCLLJRxfdcEvsYY7inWTbwGFRA7JL2jtmKXcdMti58DuVPlPMlKdwXsUfyXFAsV6i1FN/nembWnTCPzWnNqlTaGsn4FBhc3j1A1bSQlNAAabBbJX3BRP67nK/f+GulBNZUP32Bt8jrIlssLUeu8orO2Tld2cAMt/fr23k30tvhTqTOFIU0tb8yoDME/pKGUQo2zCvvp8yzfgnxjAVQ/gc0tWEC588O43TnS1UTNUKLFjDDah2o4Wm2KUWF/1lalOAqab/ED7/rotWVW2v6OZofcoWXMDJwEZDcZwJcHuDXUlX3lwR2O75G7AHXHiczYEHNNu3l5BX9Jli4rOpCeyeS2oWqkbVUtyaQ3tghnvQQXY4NV5oyTk6bfYWJTrH9/b9Rsk3Kj9+FZb5fGOGa9KVVCmnmAlETh4CZC598WnzsKEA0PBv1hg8p5PoJfeQq+Igit2k636z1ir0OAuxU2FM1uPrmYImsvpAE7BcbeeDcv2Hfm61YqQ2J3OpIVTBARwlbnpRUkBKAuxnu7J+HRs6hoEzjTbw6vWXkIf9tJU Ieo/8Em9 8u5Fh9t5busw8Z5o/yiOqlcKoEm5Alyj/4i/FLFignp9NTb+2un6kF8RxU0gfQnU977aFZRau4ZrQyzYtMus9YUU98zyutt8c5juJ+bC6vSS74RAeKBiEd21QOQapWGAFKJ7DdV4jeMvepXfRurAupp3UxDLsITv5Jto/aSZa3dwuwpN1hVdpBVQLnE6VTWh0+NMvldtRA4Wyy5ShPAzmHATwzexPgC/2VVlI03yqG1X1kGgBOf03BkPlIGtjJgVmdA8wKYndiHOf6MpGHHw9atMoLiXmlQSq6ScP8VnK+eQHiUQhaKdrTp8Y8bIWaDZLIVnSK61QNFFeF+aGfIIAFBqBC8cR9UDzyouUQOLG0wDnIpwkx3/ZPWuC5vC0AtW4RUifWwj8z90rWXOZEH2HTfLQZSNdLIAsLY4TuXNk26cSMm2h8KH61zAFbOyHEUFQyd3z4ES1JoSZSsupER+l+Agq+Ofjek/Cg2xsrUDZl5049guEpQm1iajQtIXKPnVkQFxI1naRa7p6Pm3eTXB9+C3i4mCcNgUgRGuzvkppYlY8MTpqH+SzIOk421MONEMSiSlQzIPN3ZEAGMFFBToXNinGeOrsZl0IteBFB6Et/CcJVLw6TEEG4ypKulmsqRcX1rJya7gtO9zpUDXOYSJLcEppdn4MrkJEOZ4LnKwLuKKpisYxlyt/mk4pnqAFufh6WPdLqPYIoN62Gog= 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: On Mon, 9 Oct 2023 08:15:13 -0700 Mike Kravetz wrote: > > This should also be empty and a noop. > > > > Is it possible that the misaligned kernel image could make these lists > > appear as non-empty? > > Actually, just saw this: > > https://lore.kernel.org/linux-mm/20231009145605.2150897-1-usama.arif@bytedance.com/ > > Will take a look, although as mentioned above prep_and_add_bootmem_folios on > an empty list should be a noop. Konrad, are you able to test Usama's patch? Thanks. From: Usama Arif Subject: mm: hugetlb: only prep and add allocated folios for non-gigantic pages Date: Mon, 9 Oct 2023 15:56:05 +0100 Calling prep_and_add_allocated_folios when allocating gigantic pages at boot time causes the kernel to crash as folio_list is empty and iterating it causes a NULL pointer dereference. Call this only for non-gigantic pages when folio_list has entries. Link: https://lkml.kernel.org/r/20231009145605.2150897-1-usama.arif@bytedance.com Fixes: bfb41d6b2fe148 ("hugetlb: restructure pool allocations") Signed-off-by: Usama Arif Cc: Fam Zheng Cc: Mike Kravetz Cc: Muchun Song Cc: Punit Agrawal Cc: Anshuman Khandual Cc: Barry Song <21cnbao@gmail.com> Cc: David Hildenbrand Cc: David Rientjes Cc: James Houghton Cc: Joao Martins Cc: Konrad Dybcio Cc: Matthew Wilcox (Oracle) Cc: Miaohe Lin Cc: Michal Hocko Cc: Naoya Horiguchi Cc: Oscar Salvador Cc: Xiongchun Duan Signed-off-by: Andrew Morton --- mm/hugetlb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/mm/hugetlb.c~hugetlb-restructure-pool-allocations-fix +++ a/mm/hugetlb.c @@ -3307,7 +3307,8 @@ static void __init hugetlb_hstate_alloc_ } /* list will be empty if hstate_is_gigantic */ - prep_and_add_allocated_folios(h, &folio_list); + if (!hstate_is_gigantic(h)) + prep_and_add_allocated_folios(h, &folio_list); if (i < h->max_huge_pages) { char buf[32]; _