From: Dean Nelson <dnelson@redhat.com>
To: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Andi Kleen <andi@firstfloor.org>,
Andrea Arcangeli <aarcange@redhat.com>,
Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/2] mm/hwpoison-inject: fix refcounting in no-injection case
Date: Thu, 23 Apr 2015 19:42:14 -0500 [thread overview]
Message-ID: <55399166.8050709@redhat.com> (raw)
In-Reply-To: <1429236509-8796-1-git-send-email-n-horiguchi@ah.jp.nec.com>
On 04/16/2015 09:08 PM, Naoya Horiguchi wrote:
> Hwpoison injection via debugfs:hwpoison/corrupt-pfn takes a refcount of
> the target page. But current code doesn't release it if the target page
> is not supposed to be injected, which results in memory leak.
> This patch simply adds the refcount releasing code.
>
> Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Acked-by: Dean Nelson <dnelson@redhat.com>
> ---
> mm/hwpoison-inject.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git v4.0.orig/mm/hwpoison-inject.c v4.0/mm/hwpoison-inject.c
> index 329caf56df22..2b3f933e3282 100644
> --- v4.0.orig/mm/hwpoison-inject.c
> +++ v4.0/mm/hwpoison-inject.c
> @@ -40,7 +40,7 @@ static int hwpoison_inject(void *data, u64 val)
> * This implies unable to support non-LRU pages.
> */
> if (!PageLRU(p) && !PageHuge(p))
> - return 0;
> + goto put_out;
>
> /*
> * do a racy check with elevated page count, to make sure PG_hwpoison
> @@ -52,11 +52,14 @@ static int hwpoison_inject(void *data, u64 val)
> err = hwpoison_filter(hpage);
> unlock_page(hpage);
> if (err)
> - return 0;
> + goto put_out;
>
> inject:
> pr_info("Injecting memory failure at pfn %#lx\n", pfn);
> return memory_failure(pfn, 18, MF_COUNT_INCREASED);
> +put_out:
> + put_page(hpage);
> + return 0;
> }
>
> static int hwpoison_unpoison(void *data, u64 val)
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Dean Nelson <dnelson@redhat.com>
To: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Andi Kleen <andi@firstfloor.org>,
Andrea Arcangeli <aarcange@redhat.com>,
Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/2] mm/hwpoison-inject: fix refcounting in no-injection case
Date: Thu, 23 Apr 2015 19:42:14 -0500 [thread overview]
Message-ID: <55399166.8050709@redhat.com> (raw)
In-Reply-To: <1429236509-8796-1-git-send-email-n-horiguchi@ah.jp.nec.com>
On 04/16/2015 09:08 PM, Naoya Horiguchi wrote:
> Hwpoison injection via debugfs:hwpoison/corrupt-pfn takes a refcount of
> the target page. But current code doesn't release it if the target page
> is not supposed to be injected, which results in memory leak.
> This patch simply adds the refcount releasing code.
>
> Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Acked-by: Dean Nelson <dnelson@redhat.com>
> ---
> mm/hwpoison-inject.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git v4.0.orig/mm/hwpoison-inject.c v4.0/mm/hwpoison-inject.c
> index 329caf56df22..2b3f933e3282 100644
> --- v4.0.orig/mm/hwpoison-inject.c
> +++ v4.0/mm/hwpoison-inject.c
> @@ -40,7 +40,7 @@ static int hwpoison_inject(void *data, u64 val)
> * This implies unable to support non-LRU pages.
> */
> if (!PageLRU(p) && !PageHuge(p))
> - return 0;
> + goto put_out;
>
> /*
> * do a racy check with elevated page count, to make sure PG_hwpoison
> @@ -52,11 +52,14 @@ static int hwpoison_inject(void *data, u64 val)
> err = hwpoison_filter(hpage);
> unlock_page(hpage);
> if (err)
> - return 0;
> + goto put_out;
>
> inject:
> pr_info("Injecting memory failure at pfn %#lx\n", pfn);
> return memory_failure(pfn, 18, MF_COUNT_INCREASED);
> +put_out:
> + put_page(hpage);
> + return 0;
> }
>
> static int hwpoison_unpoison(void *data, u64 val)
>
next prev parent reply other threads:[~2015-04-24 0:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-17 2:08 [PATCH 1/2] mm/hwpoison-inject: fix refcounting in no-injection case Naoya Horiguchi
2015-04-17 2:08 ` Naoya Horiguchi
2015-04-17 2:08 ` [PATCH 2/2] mm/hwpoison-inject: check PageLRU of hpage Naoya Horiguchi
2015-04-17 2:08 ` Naoya Horiguchi
2015-04-24 0:42 ` Dean Nelson
2015-04-24 0:42 ` Dean Nelson
2015-04-24 0:42 ` Dean Nelson [this message]
2015-04-24 0:42 ` [PATCH 1/2] mm/hwpoison-inject: fix refcounting in no-injection case Dean Nelson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55399166.8050709@redhat.com \
--to=dnelson@redhat.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=n-horiguchi@ah.jp.nec.com \
--cc=seto.hidetoshi@jp.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.