diff options
Diffstat (limited to 'fs/proc/task_mmu.c')
-rw-r--r-- | fs/proc/task_mmu.c | 64 |
1 files changed, 1 insertions, 63 deletions
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index b5b31f8dd887..5066b0251ed8 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -123,56 +123,6 @@ static void release_task_mempolicy(struct proc_maps_private *priv) } #endif -static void seq_print_vma_name(struct seq_file *m, struct vm_area_struct *vma) -{ - const char __user *name = vma_get_anon_name(vma); - struct mm_struct *mm = vma->vm_mm; - - unsigned long page_start_vaddr; - unsigned long page_offset; - unsigned long num_pages; - unsigned long max_len = NAME_MAX; - int i; - - page_start_vaddr = (unsigned long)name & PAGE_MASK; - page_offset = (unsigned long)name - page_start_vaddr; - num_pages = DIV_ROUND_UP(page_offset + max_len, PAGE_SIZE); - - seq_puts(m, "[anon:"); - - for (i = 0; i < num_pages; i++) { - int len; - int write_len; - const char *kaddr; - long pages_pinned; - struct page *page; - - pages_pinned = get_user_pages_remote(current, mm, - page_start_vaddr, 1, 0, &page, NULL, NULL); - if (pages_pinned < 1) { - seq_puts(m, "<fault>]"); - return; - } - - kaddr = (const char *)kmap(page); - len = min(max_len, PAGE_SIZE - page_offset); - write_len = strnlen(kaddr + page_offset, len); - seq_write(m, kaddr + page_offset, write_len); - kunmap(page); - put_page(page); - - /* if strnlen hit a null terminator then we're done */ - if (write_len != len) - break; - - max_len -= len; - page_offset = 0; - page_start_vaddr += PAGE_SIZE; - } - - seq_putc(m, ']'); -} - static void *m_start(struct seq_file *m, loff_t *ppos) { struct proc_maps_private *priv = m->private; @@ -369,15 +319,8 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma) goto done; } - if (is_stack(vma)) { + if (is_stack(vma)) name = "[stack]"; - goto done; - } - - if (vma_get_anon_name(vma)) { - seq_pad(m, ' '); - seq_print_vma_name(m, vma); - } } done: @@ -865,11 +808,6 @@ static int show_smap(struct seq_file *m, void *v) smap_gather_stats(vma, &mss); show_map_vma(m, vma); - if (vma_get_anon_name(vma)) { - seq_puts(m, "Name: "); - seq_print_vma_name(m, vma); - seq_putc(m, '\n'); - } SEQ_PUT_DEC("Size: ", vma->vm_end - vma->vm_start); SEQ_PUT_DEC(" kB\nKernelPageSize: ", vma_kernel_pagesize(vma)); |