mm: remove unevictable's show_page_path
Hugh Dickins reported show_page_path() is buggy and unsafe because - lack dput() against d_find_alias() - don't concern vma->vm_mm->owner == NULL - lack lock_page() it was only for debugging, so rather than trying to fix it, just remove it now. Reported-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> CC: Lee Schermerhorn <Lee.Schermerhorn@hp.com> CC: Rik van Riel <riel@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
fb75109834
commit
748f1a2ed7
35
mm/vmscan.c
35
mm/vmscan.c
@ -2368,39 +2368,6 @@ int page_evictable(struct page *page, struct vm_area_struct *vma)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void show_page_path(struct page *page)
|
||||
{
|
||||
char buf[256];
|
||||
if (page_is_file_cache(page)) {
|
||||
struct address_space *mapping = page->mapping;
|
||||
struct dentry *dentry;
|
||||
pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
|
||||
|
||||
spin_lock(&mapping->i_mmap_lock);
|
||||
dentry = d_find_alias(mapping->host);
|
||||
printk(KERN_INFO "rescued: %s %lu\n",
|
||||
dentry_path(dentry, buf, 256), pgoff);
|
||||
spin_unlock(&mapping->i_mmap_lock);
|
||||
} else {
|
||||
#if defined(CONFIG_MM_OWNER) && defined(CONFIG_MMU)
|
||||
struct anon_vma *anon_vma;
|
||||
struct vm_area_struct *vma;
|
||||
|
||||
anon_vma = page_lock_anon_vma(page);
|
||||
if (!anon_vma)
|
||||
return;
|
||||
|
||||
list_for_each_entry(vma, &anon_vma->head, anon_vma_node) {
|
||||
printk(KERN_INFO "rescued: anon %s\n",
|
||||
vma->vm_mm->owner->comm);
|
||||
break;
|
||||
}
|
||||
page_unlock_anon_vma(anon_vma);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* check_move_unevictable_page - check page for evictability and move to appropriate zone lru list
|
||||
* @page: page to check evictability and move to appropriate lru list
|
||||
@ -2421,8 +2388,6 @@ static void check_move_unevictable_page(struct page *page, struct zone *zone)
|
||||
if (page_evictable(page, NULL)) {
|
||||
enum lru_list l = LRU_INACTIVE_ANON + page_is_file_cache(page);
|
||||
|
||||
show_page_path(page);
|
||||
|
||||
__dec_zone_state(zone, NR_UNEVICTABLE);
|
||||
list_move(&page->lru, &zone->lru[l].list);
|
||||
__inc_zone_state(zone, NR_INACTIVE_ANON + l);
|
||||
|
Loading…
Reference in New Issue
Block a user