mm/hwpoison: fix false report on 2nd attempt at page recovery
If the page is poisoned by software injection w/ MF_COUNT_INCREASED flag, there is a false report during the 2nd attempt at page recovery which is not truthful. This patch fixes it by reporting the first attempt to try free buddy page recovery if MF_COUNT_INCREASED is set. Before patch: [ 346.332041] Injecting memory failure at pfn 200010 [ 346.332189] MCE 0x200010: free buddy, 2nd try page recovery: Delayed After patch: [ 297.742600] Injecting memory failure at pfn 200010 [ 297.742941] MCE 0x200010: free buddy page recovery: Delayed Reviewed-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Acked-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Wanpeng Li <liwanp@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									e76d30e20b
								
							
						
					
					
						commit
						2d421acd15
					
				| @ -1114,8 +1114,10 @@ int memory_failure(unsigned long pfn, int trapno, int flags) | ||||
| 			 * shake_page could have turned it free. | ||||
| 			 */ | ||||
| 			if (is_free_buddy_page(p)) { | ||||
| 				action_result(pfn, "free buddy, 2nd try", | ||||
| 						DELAYED); | ||||
| 				if (flags & MF_COUNT_INCREASED) | ||||
| 					action_result(pfn, "free buddy", DELAYED); | ||||
| 				else | ||||
| 					action_result(pfn, "free buddy, 2nd try", DELAYED); | ||||
| 				return 0; | ||||
| 			} | ||||
| 			action_result(pfn, "non LRU", IGNORED); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user