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 BB17AC433F5 for ; Mon, 31 Jan 2022 20:29:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3CCED6B00D7; Mon, 31 Jan 2022 15:29:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 37AE86B00E1; Mon, 31 Jan 2022 15:29:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 26ABA8D0001; Mon, 31 Jan 2022 15:29:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 18B296B00D7 for ; Mon, 31 Jan 2022 15:29:22 -0500 (EST) Received: from smtpin12.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id C08A698C2D for ; Mon, 31 Jan 2022 20:29:21 +0000 (UTC) X-FDA: 79091722122.12.F57F60B Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf16.hostedemail.com (Postfix) with ESMTP id AB31918000C for ; Mon, 31 Jan 2022 20:29:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Type:MIME-Version:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=PxLIIkeXBz7KbHXTn06C9FJNcZWQkGiJr6t2jShdQYM=; b=a6q60xTjxOAxkF+zzPbmr0ol4Z u3E3V7jY7qfRJq724ZIOf7GUlenARKjNFzLVAOlsID5VGSfTkMbMf1P1ivxu6kNEJDi8qgj/nKq86 vhRCEdPwZ4VRGt1EZ8ZcqcFmP2k45Jsd4pGb59VzmvFnkfPZlOqq0BslgcOyxDmJY8zOlJRl7z/KN 6ztMg7P26GqpfJV7UCCFQOGBGcVMsqc/XAkyOqpW9PxWjUqNnwWw0gN4ZtIjmyu7rpxr+buqxPlMK hnZIVR7VfvimlQGJOr32ZivwGVTQ+yMNDnKAqFrWBdF+tMN/IKKTiV885gfuG8eN1mdVYqrzVfdJ2 WzGGxMuA==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1nEdIS-00Aaz9-9W; Mon, 31 Jan 2022 20:29:08 +0000 Date: Mon, 31 Jan 2022 20:29:08 +0000 From: Matthew Wilcox To: Joao Martins , Jane Chu Cc: Naoya Horiguchi , linux-mm@kvack.org, Andrew Morton Subject: [RFC] Missing compound_head() in memory-failure Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: AB31918000C X-Stat-Signature: 6jdsdjgdmct4i4zjbuk66q17e4aqzebu X-Rspam-User: nil Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=a6q60xTj; spf=none (imf16.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none X-HE-Tag: 1643660960-461680 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: Unless I am mistaken, you have to pass the compound head of the page which has the error to collect_procs(). Am I mistaken? (found by code inspection as part of the folio work; I think collect_procs() needs to take a folio, which would eliminate this class of errors) +++ b/mm/memory-failure.c @@ -1633,7 +1633,7 @@ static int memory_failure_dev_pagemap(unsigned long pfn, int flags, * SIGBUS (i.e. MF_MUST_KILL) */ flags |= MF_ACTION_REQUIRED | MF_MUST_KILL; - collect_procs(page, &tokill, flags & MF_ACTION_REQUIRED); + collect_procs(compound_head(page), &tokill, flags & MF_ACTION_REQUIRED); list_for_each_entry(tk, &tokill, nd) if (tk->size_shift)