Commit 7456b040 authored by Wu Fengguang's avatar Wu Fengguang Committed by Andi Kleen

HWPOISON: fix invalid page count in printk output

The madvise injector already holds a reference when passing in a page
to the memory-failure code. The code corrects for this additional reference
for its checks, but the final printk output didn't. Fix that.
Signed-off-by: default avatarWu Fengguang <fengguang.wu@intel.com>
Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
parent 65a64464
...@@ -613,13 +613,16 @@ static int page_action(struct page_state *ps, struct page *p, ...@@ -613,13 +613,16 @@ static int page_action(struct page_state *ps, struct page *p,
unsigned long pfn, int ref) unsigned long pfn, int ref)
{ {
int result; int result;
int count;
result = ps->action(p, pfn); result = ps->action(p, pfn);
action_result(pfn, ps->msg, result); action_result(pfn, ps->msg, result);
if (page_count(p) != 1 + ref)
count = page_count(p) - 1 - ref;
if (count != 0)
printk(KERN_ERR printk(KERN_ERR
"MCE %#lx: %s page still referenced by %d users\n", "MCE %#lx: %s page still referenced by %d users\n",
pfn, ps->msg, page_count(p) - 1); pfn, ps->msg, count);
/* Could do more checks here if page looks ok */ /* Could do more checks here if page looks ok */
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment