mm: remove is_hwpoison_address
Unused. Signed-off-by: Huang Ying <ying.huang@intel.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
		
					parent
					
						
							
								fafc3dbaac
							
						
					
				
			
			
				commit
				
					
						f58c9df78c
					
				
			
		
					 2 changed files with 0 additions and 40 deletions
				
			
		| 
						 | 
					@ -1625,14 +1625,6 @@ extern int sysctl_memory_failure_recovery;
 | 
				
			||||||
extern void shake_page(struct page *p, int access);
 | 
					extern void shake_page(struct page *p, int access);
 | 
				
			||||||
extern atomic_long_t mce_bad_pages;
 | 
					extern atomic_long_t mce_bad_pages;
 | 
				
			||||||
extern int soft_offline_page(struct page *page, int flags);
 | 
					extern int soft_offline_page(struct page *page, int flags);
 | 
				
			||||||
#ifdef CONFIG_MEMORY_FAILURE
 | 
					 | 
				
			||||||
int is_hwpoison_address(unsigned long addr);
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
static inline int is_hwpoison_address(unsigned long addr)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	return 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern void dump_page(struct page *page);
 | 
					extern void dump_page(struct page *page);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1487,35 +1487,3 @@ done:
 | 
				
			||||||
	/* keep elevated page count for bad page */
 | 
						/* keep elevated page count for bad page */
 | 
				
			||||||
	return ret;
 | 
						return ret;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * The caller must hold current->mm->mmap_sem in read mode.
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
int is_hwpoison_address(unsigned long addr)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	pgd_t *pgdp;
 | 
					 | 
				
			||||||
	pud_t pud, *pudp;
 | 
					 | 
				
			||||||
	pmd_t pmd, *pmdp;
 | 
					 | 
				
			||||||
	pte_t pte, *ptep;
 | 
					 | 
				
			||||||
	swp_entry_t entry;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	pgdp = pgd_offset(current->mm, addr);
 | 
					 | 
				
			||||||
	if (!pgd_present(*pgdp))
 | 
					 | 
				
			||||||
		return 0;
 | 
					 | 
				
			||||||
	pudp = pud_offset(pgdp, addr);
 | 
					 | 
				
			||||||
	pud = *pudp;
 | 
					 | 
				
			||||||
	if (!pud_present(pud) || pud_large(pud))
 | 
					 | 
				
			||||||
		return 0;
 | 
					 | 
				
			||||||
	pmdp = pmd_offset(pudp, addr);
 | 
					 | 
				
			||||||
	pmd = *pmdp;
 | 
					 | 
				
			||||||
	if (!pmd_present(pmd) || pmd_large(pmd))
 | 
					 | 
				
			||||||
		return 0;
 | 
					 | 
				
			||||||
	ptep = pte_offset_map(pmdp, addr);
 | 
					 | 
				
			||||||
	pte = *ptep;
 | 
					 | 
				
			||||||
	pte_unmap(ptep);
 | 
					 | 
				
			||||||
	if (!is_swap_pte(pte))
 | 
					 | 
				
			||||||
		return 0;
 | 
					 | 
				
			||||||
	entry = pte_to_swp_entry(pte);
 | 
					 | 
				
			||||||
	return is_hwpoison_entry(entry);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
EXPORT_SYMBOL_GPL(is_hwpoison_address);
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue