diff options
Diffstat (limited to 'fs/proc/task_mmu.c')
-rw-r--r-- | fs/proc/task_mmu.c | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index 070553427dd5..aea1d3f1ffb5 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c | |||
@@ -247,25 +247,6 @@ static void show_map_vma(struct seq_file *m, struct vm_area_struct *vma) | |||
247 | } else if (vma->vm_start <= mm->start_stack && | 247 | } else if (vma->vm_start <= mm->start_stack && |
248 | vma->vm_end >= mm->start_stack) { | 248 | vma->vm_end >= mm->start_stack) { |
249 | name = "[stack]"; | 249 | name = "[stack]"; |
250 | } else { | ||
251 | unsigned long stack_start; | ||
252 | struct proc_maps_private *pmp; | ||
253 | |||
254 | pmp = m->private; | ||
255 | stack_start = pmp->task->stack_start; | ||
256 | |||
257 | if (vma->vm_start <= stack_start && | ||
258 | vma->vm_end >= stack_start) { | ||
259 | pad_len_spaces(m, len); | ||
260 | seq_printf(m, | ||
261 | "[threadstack:%08lx]", | ||
262 | #ifdef CONFIG_STACK_GROWSUP | ||
263 | vma->vm_end - stack_start | ||
264 | #else | ||
265 | stack_start - vma->vm_start | ||
266 | #endif | ||
267 | ); | ||
268 | } | ||
269 | } | 250 | } |
270 | } else { | 251 | } else { |
271 | name = "[vdso]"; | 252 | name = "[vdso]"; |
@@ -653,6 +634,7 @@ static int pagemap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, | |||
653 | return err; | 634 | return err; |
654 | } | 635 | } |
655 | 636 | ||
637 | #ifdef CONFIG_HUGETLB_PAGE | ||
656 | static u64 huge_pte_to_pagemap_entry(pte_t pte, int offset) | 638 | static u64 huge_pte_to_pagemap_entry(pte_t pte, int offset) |
657 | { | 639 | { |
658 | u64 pme = 0; | 640 | u64 pme = 0; |
@@ -683,6 +665,7 @@ static int pagemap_hugetlb_range(pte_t *pte, unsigned long hmask, | |||
683 | 665 | ||
684 | return err; | 666 | return err; |
685 | } | 667 | } |
668 | #endif /* HUGETLB_PAGE */ | ||
686 | 669 | ||
687 | /* | 670 | /* |
688 | * /proc/pid/pagemap - an array mapping virtual pages to pfns | 671 | * /proc/pid/pagemap - an array mapping virtual pages to pfns |
@@ -752,7 +735,9 @@ static ssize_t pagemap_read(struct file *file, char __user *buf, | |||
752 | 735 | ||
753 | pagemap_walk.pmd_entry = pagemap_pte_range; | 736 | pagemap_walk.pmd_entry = pagemap_pte_range; |
754 | pagemap_walk.pte_hole = pagemap_pte_hole; | 737 | pagemap_walk.pte_hole = pagemap_pte_hole; |
738 | #ifdef CONFIG_HUGETLB_PAGE | ||
755 | pagemap_walk.hugetlb_entry = pagemap_hugetlb_range; | 739 | pagemap_walk.hugetlb_entry = pagemap_hugetlb_range; |
740 | #endif | ||
756 | pagemap_walk.mm = mm; | 741 | pagemap_walk.mm = mm; |
757 | pagemap_walk.private = ± | 742 | pagemap_walk.private = ± |
758 | 743 | ||