Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp403132imu; Thu, 8 Nov 2018 22:48:39 -0800 (PST) X-Google-Smtp-Source: AJdET5ehRPXCYqokGDAFIEFvFklH2YKruF3Y/7H2zeC7tTDNTkbX0AmaG31PNUToomWUAt+pr4VK X-Received: by 2002:a17:902:bc8c:: with SMTP id bb12-v6mr7373372plb.275.1541746119297; Thu, 08 Nov 2018 22:48:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541746119; cv=none; d=google.com; s=arc-20160816; b=Jwx9jyR8cWsr58nTyuZqzj/POYu63yUUu3VqLfp79nav7KSyKgVvl72ATs1eFhH5ig rFQRtuTlZ98zMXezMj0Q4T0PRiQLaqECqyMf6LFV1AJWfTnkhgz2kQBtCP7ew4R702zb 6lSBsIYTmA4rj/4lKtm3kp5wPOs3RSH5E01iyh40TIrdRb3jPIj2Z6jFnigT7VmXBpOE Bn/VeaTwF6Sse8yt/RZW0PE9buj7tuRigNkhxDVXM1DyzrtHId6DKjl2CQVKXwtr3PL6 6h2U5eP/aRGuGHK/yhZq1zTfyIchBlMykNEuE6koBF4yF1PuTbm1QPXU2ta1nwZxw9hB Ggug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=9DJFcKlJJiJ+Adjp9pPwaHOqo/nJGemRGYZuMELBj8A=; b=wxEGAoomRVt0Wm3E7g0LnAL7c832oTV07iFGcn1KDnCrRKyUkWYhMdSxI+/jvXAZtY ebugpWDLJE+mTwRItzbyarVqYI824X5NDZS8Ql656s7hJKy3CysOAKhj6c0BDbwLrSA5 +nNvX+NxBno7ifUnwLap3A+ym+qMwOdANUWjYJDYB1fox7lmPrLDxH3iilkpOjBE3366 YMfobZIn+NI5u03cbLizDuhRbUoQHRxPnD2692Q61VnWor+qib+Ho2vzhrPaHA3UKKHE tdV9q7tVROkTBK0VbTcvwMGIcvJPFhB8iAoA5pWNIv9Y5ojsANa5mW9DtiXRIR4V9Odi Ng/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=uQCid65T; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w63-v6si6904672pfb.191.2018.11.08.22.48.15; Thu, 08 Nov 2018 22:48:39 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=uQCid65T; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728072AbeKIQ0t (ORCPT + 99 others); Fri, 9 Nov 2018 11:26:49 -0500 Received: from mail-pl1-f195.google.com ([209.85.214.195]:32996 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728002AbeKIQ0t (ORCPT ); Fri, 9 Nov 2018 11:26:49 -0500 Received: by mail-pl1-f195.google.com with SMTP id w22-v6so509653plk.0 for ; Thu, 08 Nov 2018 22:47:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=9DJFcKlJJiJ+Adjp9pPwaHOqo/nJGemRGYZuMELBj8A=; b=uQCid65TF8sng2YSSfz4J4DdW5Or8lUZ8VX5K8FXmbK6ie7EpUB9Rg3E81Z+ZKzh75 x6JxMb8pw79ckVogFV5IJd81nJcjoRBj8XA1tHzURc5tneRQ+HUDfOmAGmw55jjyUvEs YreOhgU4/Z5Ik2lxFQtHDiZDyge5PiquAMF1aEh+rk9diamSA/koWheiesZ0itasdbaU 97yU45tEDNUYzpEYS6YNVdzPIMJuED/OZiuXFD02YW1fHBAJhy7TbDse9LQpH0lpv3k8 udtveFHnbfRa2hyqcL747oEIj/OEb0NvKWCyy+5Yl1DLCTDWp8WKBQC8O2W6Cw4YxCdz sy8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=9DJFcKlJJiJ+Adjp9pPwaHOqo/nJGemRGYZuMELBj8A=; b=nki17w8rzjwdXajAgOUs05QAfaB+QHKKWjomNUkkNFvKrNgVSHYID0xwIcGfJ7pl1+ No2h6Hvi1O8XMcJxf85t/lO8qE0aMaABEcedoBV1el3A5CPaEdOQcdtkuqwmULlf7LG5 gs/kkB5IlWt4FAMD7u1ILjKSq5QxBjMbcnWesKeDRjzgTBgu+BGX1kSjWW+Sw3IX60Mz zVSy+aEAltYVOHi4gMsSDXmip7krL+gC3dMBWrs60LaCuM63p5fqFSsCWwg327AbJ6w3 QGnYe3oe8+lAmR9Eb02XJILn1WT8bB7sN/H0FApFRujrXNa4UooGnqlzm2eVvokA8DWc zmnw== X-Gm-Message-State: AGRZ1gIOkRlfTg/NYu3tbnPo4ApviDxXJAWMWCPAeB1cv8xi5GShZjFb SOrY58DgmqqqtUymr8TE8Q== X-Received: by 2002:a17:902:8486:: with SMTP id c6-v6mr7466272plo.119.1541746060224; Thu, 08 Nov 2018 22:47:40 -0800 (PST) Received: from www9186uo.sakura.ne.jp (www9186uo.sakura.ne.jp. [153.121.56.200]) by smtp.gmail.com with ESMTPSA id c70-v6sm6808355pfg.97.2018.11.08.22.47.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 08 Nov 2018 22:47:39 -0800 (PST) From: Naoya Horiguchi To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Michal Hocko , Andrew Morton , Mike Kravetz , xishi.qiuxishi@alibaba-inc.com, Laurent Dufour Subject: [RFC][PATCH v1 05/11] mm: hwpoison-inject: don't pin for hwpoison_filter() Date: Fri, 9 Nov 2018 15:47:09 +0900 Message-Id: <1541746035-13408-6-git-send-email-n-horiguchi@ah.jp.nec.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1541746035-13408-1-git-send-email-n-horiguchi@ah.jp.nec.com> References: <1541746035-13408-1-git-send-email-n-horiguchi@ah.jp.nec.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Another memory error injection interface debugfs:hwpoison/corrupt-pfn also takes bogus refcount for hwpoison_filter(). It's justified because this does a coarse filter, expecting that memory_failure() redoes the check for sure. Signed-off-by: Naoya Horiguchi --- mm/hwpoison-inject.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git v4.19-mmotm-2018-10-30-16-08/mm/hwpoison-inject.c v4.19-mmotm-2018-10-30-16-08_patched/mm/hwpoison-inject.c index b6ac706..766062c 100644 --- v4.19-mmotm-2018-10-30-16-08/mm/hwpoison-inject.c +++ v4.19-mmotm-2018-10-30-16-08_patched/mm/hwpoison-inject.c @@ -25,11 +25,6 @@ static int hwpoison_inject(void *data, u64 val) p = pfn_to_page(pfn); hpage = compound_head(p); - /* - * This implies unable to support free buddy pages. - */ - if (!get_hwpoison_page(p)) - return 0; if (!hwpoison_filter_enable) goto inject; @@ -39,23 +34,20 @@ static int hwpoison_inject(void *data, u64 val) * This implies unable to support non-LRU pages. */ if (!PageLRU(hpage) && !PageHuge(p)) - goto put_out; + return 0; /* - * do a racy check with elevated page count, to make sure PG_hwpoison - * will only be set for the targeted owner (or on a free page). + * do a racy check to make sure PG_hwpoison will only be set for + * the targeted owner (or on a free page). * memory_failure() will redo the check reliably inside page lock. */ err = hwpoison_filter(hpage); if (err) - goto put_out; + return 0; inject: pr_info("Injecting memory failure at pfn %#lx\n", pfn); - return memory_failure(pfn, MF_COUNT_INCREASED); -put_out: - put_hwpoison_page(p); - return 0; + return memory_failure(pfn, 0); } static int hwpoison_unpoison(void *data, u64 val) -- 2.7.0