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 028D0C001DE for ; Tue, 18 Jul 2023 00:14:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 64C3E6B0071; Mon, 17 Jul 2023 20:14:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5D53B6B0074; Mon, 17 Jul 2023 20:14:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 477C18D0001; Mon, 17 Jul 2023 20:14:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 354746B0071 for ; Mon, 17 Jul 2023 20:14:23 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 0416C805BD for ; Tue, 18 Jul 2023 00:14:22 +0000 (UTC) X-FDA: 81022810806.21.44C3BA5 Received: from out-14.mta1.migadu.com (out-14.mta1.migadu.com [95.215.58.14]) by imf20.hostedemail.com (Postfix) with ESMTP id 9B7741C001D for ; Tue, 18 Jul 2023 00:14:19 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=c0ZYaIyp; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf20.hostedemail.com: domain of naoya.horiguchi@linux.dev designates 95.215.58.14 as permitted sender) smtp.mailfrom=naoya.horiguchi@linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1689639259; 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=xWgRronsTbYYMQPOpLCjsPDsGzmMvsazH/ZV2Qlt798=; b=mzFReU/RQ/obZh6oU8HEh/8uHbtPjzGJeN18ZEtcTmWRLAXmc80va65h3YXRKNwv+a9DGJ WD4sVRLGU3jGnG6D8lO1Epfs2F/+ErFO8tFPfSldutYhkPidFcoFL25pfCpjoU4hZMWbcv nQxlcxgYyQb+xv5dEErAvJp/HwmxDq8= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=c0ZYaIyp; dmarc=pass (policy=none) header.from=linux.dev; spf=pass (imf20.hostedemail.com: domain of naoya.horiguchi@linux.dev designates 95.215.58.14 as permitted sender) smtp.mailfrom=naoya.horiguchi@linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1689639259; a=rsa-sha256; cv=none; b=FDewVrFkhH9o02G0lxVs5tYSUkhY59nIvIR/lG56Hkd7miIX/uYc59mAD4OTL6WZt8x7W1 H5QidNqzhU+bqukSm6iPpkUEgSoYGP5IRiFA3l9y5zaBPZo5N/al0inkrVlzWna4wBmYeJ YlwHS0DtBG7SMknC5WxBTcErXdEzPso= Date: Tue, 18 Jul 2023 09:14:09 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1689639257; h=from:from:reply-to:subject:subject: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=xWgRronsTbYYMQPOpLCjsPDsGzmMvsazH/ZV2Qlt798=; b=c0ZYaIypddAyTOb1ArTgvLjqg0xxoMJvlC8vgqMR1XZLhWx98ZrAFX4YunXguc55jv7Njk /kgzmzSCIkT0WK5WkBLvDeiB9douPncBVXt5oA5nRKPbsUV1urJ0rw94aEXxmTpDOB+lYA L5LouM0DuiAPDZ1PoVCd4KVSxWXm8FM= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Naoya Horiguchi To: Sidhartha Kumar Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, willy@infradead.org, linmiaohe@huawei.com, naoya.horiguchi@nec.com, stable@vger.kernel.org Subject: Re: [PATCH] mm/memory-failure: fix hardware poison check in unpoison_memory() Message-ID: <20230718001409.GA751192@ik1-406-35019.vs.sakura.ne.jp> References: <20230717181812.167757-1-sidhartha.kumar@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20230717181812.167757-1-sidhartha.kumar@oracle.com> X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 9B7741C001D X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: q7jnbiduous988bumosiqxghjo45i4ty X-HE-Tag: 1689639259-345684 X-HE-Meta: U2FsdGVkX1/p38HqqOE83R80/a4wjoefSzemOjUG1whHz3vfAiFY4XTYw3G0MoDSh5WrVQ2WahOMqdnapRrXanbrfeXdF7vpa8H7hBJfturpn+GiZr0qTIVfr5G9YrfxLKNDd/z3pSuaRkXkfdCMXcaCl/Cl2192OtvdZZAwY0Sv6CtD2a2dCSmey26ef7X33mvl1BPSu63QAVayND/QhCP8MeHB5yv15IvdIlHpn++KE0dmYuzteozMp93DGPY5AWPdUtQtJHT7D3PN70HDd1cVXxjgfA8hnTOYMlH2PhzYsMgTaIX1Pc/xvsA1SnrjzZhVO5Ra9MTaDV+1sqdfwtfu2OEIw2BkfVlo052o0yy6rcSpkRxg9Ex6bn3xy5Gk8MbQ5NuCmUr4qiYw4lJoofC8tnGxc8k1f4Jf1ySplTK51W/yG6XYQpNc4hU24YsSo4zuIjRwIWG85KMzcYwPbAwca+iD18K36E60Pe8uZ1MjojEwrodOfhyfB28D0GqVYJWg9Hv9OW4xXCJgpXfE/KI95aLV9atIEBQtJvqjXHqhnptdPQo0upyQmV79eJmtS72M+9hkdnx5EgheIq7/+rf0cbxKTTwE338Nw1P6Kjq4cTjjjoA6F2eskjn4nIs0hMkgoRaOk4lMkEJ1bp79H2igYuYzPuL53bNtShjR3M6j35z/QqKZQYjrCf0Lv8TVdS2LpntNYiz3HsPGdsjDEDyheECeg6jFuU6uZsvVJWvC48zCWALVQPVL9SwbTu+afEi2aaAVzTrx/gArn2TPY8GM+tYUlkEEnwhWN/C7tjEB8qidHh3zIUazi9gMpy2kz7wqg3AOED1k3eg6YM1CxSuZl2ReJqT99RAqOuh053B4WgaK9i/7ol+Pb6F7k68haQIgWxOFBZcCEdLotQToXqABq44lzSx2FCGxIaVuv5+3PdSoVh5UNEVOirzFqQXdGOaa8NyX1oRo142eoRB SJ6QJnYS Jc56GhR64znYesz1W+ZmOvcVsnERAq5XbKE+tHnzYM41NqHKEtaomdMJhlrGUhpysgq80hBRZJPvzOwE/1NfZc+efoC4fMzE2bMcLzqYT6cNZmq2V/E6oadhIcZfqAnGZsc3kAYgkKfCv71C128xN5gcuY+Ci3ylyP5ZhLis7o2ExZTJ2Yg0dIjiucVYIk9on7Bk+hAloTOfdNESea+58jGwKDWxSraqSEbGD81MRpDrs19s= 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, Jul 17, 2023 at 11:18:12AM -0700, Sidhartha Kumar wrote: > It was pointed out[1] that using folio_test_hwpoison() is wrong > as we need to check the indiviual page that has poison. > folio_test_hwpoison() only checks the head page so go back to using > PageHWPoison(). > > Reported-by: Matthew Wilcox (Oracle) > Fixes: a6fddef49eef ("mm/memory-failure: convert unpoison_memory() to folios") > Cc: stable@vger.kernel.org #v6.4 > Signed-off-by: Sidhartha Kumar > > [1]: https://lore.kernel.org/lkml/ZLIbZygG7LqSI9xe@casper.infradead.org/ > --- > mm/memory-failure.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/memory-failure.c b/mm/memory-failure.c > index 02b1d8f104d51..a114c8c3039cd 100644 > --- a/mm/memory-failure.c > +++ b/mm/memory-failure.c > @@ -2523,7 +2523,7 @@ int unpoison_memory(unsigned long pfn) > goto unlock_mutex; > } > > - if (!folio_test_hwpoison(folio)) { > + if (!PageHWPoison(p)) { I don't think this works for hwpoisoned hugetlb pages that have PageHWPoison set on the head page, rather than on the raw subpage. In the case of hwpoisoned thps, PageHWPoison is set on the raw subpage, not on the head pages. (I believe this is not detected because no one considers the scenario of unpoisoning hwpoisoned thps, which is a rare case). Perhaps the function is_page_hwpoison() would be useful for this purpose? Thanks, Naoya Horiguchi > unpoison_pr_info("Unpoison: Page was already unpoisoned %#lx\n", > pfn, &unpoison_rs); > goto unlock_mutex; > -- > 2.41.0 > > >