mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
RAS, HWPOISON: Fix wrong error recovery status
When Uncorrected error happens, if the poisoned page is referenced by more than one user after error recovery, the recovery is not successful. But currently the display result is wrong. Before this patch: MCE 0x44e336: dirty mlocked LRU page recovery: Recovered MCE 0x44e336: dirty mlocked LRU page still referenced by 1 users mce: Memory error not recovered After this patch: MCE 0x44e336: dirty mlocked LRU page recovery: Failed MCE 0x44e336: dirty mlocked LRU page still referenced by 1 users mce: Memory error not recovered Signed-off-by: Chen, Gong <gong.chen@linux.intel.com> Link: http://lkml.kernel.org/r/1406530260-26078-3-git-send-email-gong.chen@linux.intel.com Acked-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Acked-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Borislav Petkov <bp@suse.de>
This commit is contained in:
parent
8f7c31f6cd
commit
6dc52cbe0b
@ -860,7 +860,6 @@ static int page_action(struct page_state *ps, struct page *p,
|
||||
int count;
|
||||
|
||||
result = ps->action(p, pfn);
|
||||
action_result(pfn, ps->msg, result);
|
||||
|
||||
count = page_count(p) - 1;
|
||||
if (ps->action == me_swapcache_dirty && result == DELAYED)
|
||||
@ -871,6 +870,7 @@ static int page_action(struct page_state *ps, struct page *p,
|
||||
pfn, ps->msg, count);
|
||||
result = FAILED;
|
||||
}
|
||||
action_result(pfn, ps->msg, result);
|
||||
|
||||
/* Could do more checks here if page looks ok */
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user