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 B3CA8ECAAD5 for ; Thu, 8 Sep 2022 03:28:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2E2B76B0072; Wed, 7 Sep 2022 23:28:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 26A6E8D0003; Wed, 7 Sep 2022 23:28:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E4926B0074; Wed, 7 Sep 2022 23:28:37 -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 ED45A6B0072 for ; Wed, 7 Sep 2022 23:28:36 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id C5AD5A0C01 for ; Thu, 8 Sep 2022 03:28:36 +0000 (UTC) X-FDA: 79887485832.26.42DD85D Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by imf10.hostedemail.com (Postfix) with ESMTP id 57069C006D for ; Thu, 8 Sep 2022 03:28:35 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 0962B1FD76; Thu, 8 Sep 2022 03:28:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1662607714; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=QRNLP3+r/u+LWAdKk2HNwvCvCIVGJH4sR/OZ16xNwYA=; b=k0bKbiRYdLSRbFayRBByjXU54lVKKRdMLzJxdjQltLyoLc3xISZbAhpahQLRu3Y2Vh7ywi SUQRq9/+7YF1M7G/VcJvlpVFAGAqVFPR7C6GrPzUXbVGEy0ZGxWrPrGoNI49Uk/EjTnm8x DIzOYvtQrqT9Gslq33q1wXf2EaTOmOE= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1662607714; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=QRNLP3+r/u+LWAdKk2HNwvCvCIVGJH4sR/OZ16xNwYA=; b=t7e4MoP74nt9YtA27GhvKhdos9zPV1xp2OX0/tiOyA3X/kNX/IikhIbJ58/t3byOjM6GSE FHPFomuvzg+7WZBQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 7095F1348C; Thu, 8 Sep 2022 03:28:33 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 4n2zGGFhGWPiBQAAMHmgww (envelope-from ); Thu, 08 Sep 2022 03:28:33 +0000 Date: Thu, 8 Sep 2022 05:28:31 +0200 From: Oscar Salvador To: Naoya Horiguchi Cc: David Hildenbrand , linux-mm@kvack.org, Andrew Morton , Muchun Song , Miaohe Lin , Matthew Wilcox , Michal Hocko , Yang Shi , Naoya Horiguchi Subject: Re: [PATCH] mm/huge_memory: use pfn_to_online_page() in split_huge_pages_all() Message-ID: References: <20220907100855.GA2894785@ik1-406-35019.vs.sakura.ne.jp> <1481ce19-0a64-d1dc-4d89-4db71d6f7eb3@redhat.com> <20220907121157.GA2954283@ik1-406-35019.vs.sakura.ne.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220907121157.GA2954283@ik1-406-35019.vs.sakura.ne.jp> ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1662607715; a=rsa-sha256; cv=none; b=eEO4PfRjF6F3tJSHmeCktZseY49uS4KCPfJ3xwzaJeWvG4ILgMfQV88U2AHB7k+6DuKP8Y gAMGOWBGFFUPUpRKu1duW0wXAQhSWNCJuxLNK7KqQRyZd8waTBm2XsEEL1GLsdnLInX0Jr qW5e93CQTCr8rpvZN6cdjJg+Whh75bc= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=k0bKbiRY; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=t7e4MoP7; spf=pass (imf10.hostedemail.com: domain of osalvador@suse.de designates 195.135.220.29 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1662607715; 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=QRNLP3+r/u+LWAdKk2HNwvCvCIVGJH4sR/OZ16xNwYA=; b=cWO1DYXsWvNF+RmdBc8DDv5yJHs33C8yB2y19NUMgoByqDIgZqaAOiGhcEKXJP4RQVk9/g gdCsHoI1tCAv+YsRiVN4oZKKN+qyhu0LtSudylxHS+gHASM0gerpnh9vf+ZFbw3todeL/x XdRb2EdTLTziAOgeBV5/M0JykPAF05E= X-Stat-Signature: eikmbk7gmqa3ann6wf7mmeti6zjiemww X-Rspamd-Queue-Id: 57069C006D X-Rspamd-Server: rspam11 X-Rspam-User: Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=k0bKbiRY; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=t7e4MoP7; spf=pass (imf10.hostedemail.com: domain of osalvador@suse.de designates 195.135.220.29 as permitted sender) smtp.mailfrom=osalvador@suse.de; dmarc=pass (policy=none) header.from=suse.de X-HE-Tag: 1662607715-180783 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 Wed, Sep 07, 2022 at 09:11:57PM +0900, Naoya Horiguchi wrote: > From 8a5c284df732943065d23838090d15c94cd10395 Mon Sep 17 00:00:00 2001 > From: Naoya Horiguchi > Date: Wed, 7 Sep 2022 20:58:44 +0900 > Subject: [PATCH] mm/huge_memory: use pfn_to_online_page() in > split_huge_pages_all() > > NULL pointer dereference is triggered when calling thp split via debugfs > on the system with offlined memory blocks. With debug option enabled, > the following kernel messages are printed out: > > page:00000000467f4890 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x121c000 > flags: 0x17fffc00000000(node=0|zone=2|lastcpupid=0x1ffff) > raw: 0017fffc00000000 0000000000000000 dead000000000122 0000000000000000 > raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000 > page dumped because: unmovable page > page:000000007d7ab72e is uninitialized and poisoned > page dumped because: VM_BUG_ON_PAGE(PagePoisoned(p)) > ------------[ cut here ]------------ > kernel BUG at include/linux/mm.h:1248! > invalid opcode: 0000 [#1] PREEMPT SMP PTI > CPU: 16 PID: 20964 Comm: bash Tainted: G I 6.0.0-rc3-foll-numa+ #41 > ... > RIP: 0010:split_huge_pages_write+0xcf4/0xe30 > > This shows that page_to_nid() in page_zone() is unexpectedly called for an > offlined memmap. > > Use pfn_to_online_page() to get struct page in PFN walker. > > Fixes: 49071d436b51 ("thp: add debugfs handle to split all huge pages") > Suggested-by: David Hildenbrand > Signed-off-by: Naoya Horiguchi > Cc: Reviewed-by: Oscar Salvador -- Oscar Salvador SUSE Labs