@@ -436,7 +436,6 @@ const struct file_operations proc_tid_maps_operations = {
436
436
437
437
#ifdef CONFIG_PROC_PAGE_MONITOR
438
438
struct mem_size_stats {
439
- struct vm_area_struct * vma ;
440
439
unsigned long resident ;
441
440
unsigned long shared_clean ;
442
441
unsigned long shared_dirty ;
@@ -485,7 +484,7 @@ static void smaps_pte_entry(pte_t *pte, unsigned long addr,
485
484
struct mm_walk * walk )
486
485
{
487
486
struct mem_size_stats * mss = walk -> private ;
488
- struct vm_area_struct * vma = mss -> vma ;
487
+ struct vm_area_struct * vma = walk -> vma ;
489
488
struct page * page = NULL ;
490
489
491
490
if (pte_present (* pte )) {
@@ -509,7 +508,7 @@ static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr,
509
508
struct mm_walk * walk )
510
509
{
511
510
struct mem_size_stats * mss = walk -> private ;
512
- struct vm_area_struct * vma = mss -> vma ;
511
+ struct vm_area_struct * vma = walk -> vma ;
513
512
struct page * page ;
514
513
515
514
/* FOLL_DUMP will return -EFAULT on huge zero page */
@@ -530,8 +529,7 @@ static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr,
530
529
static int smaps_pte_range (pmd_t * pmd , unsigned long addr , unsigned long end ,
531
530
struct mm_walk * walk )
532
531
{
533
- struct mem_size_stats * mss = walk -> private ;
534
- struct vm_area_struct * vma = mss -> vma ;
532
+ struct vm_area_struct * vma = walk -> vma ;
535
533
pte_t * pte ;
536
534
spinlock_t * ptl ;
537
535
@@ -623,10 +621,8 @@ static int show_smap(struct seq_file *m, void *v, int is_pid)
623
621
};
624
622
625
623
memset (& mss , 0 , sizeof mss );
626
- mss .vma = vma ;
627
624
/* mmap_sem is held in m_start */
628
- if (vma -> vm_mm && !is_vm_hugetlb_page (vma ))
629
- walk_page_range (vma -> vm_start , vma -> vm_end , & smaps_walk );
625
+ walk_page_vma (vma , & smaps_walk );
630
626
631
627
show_map_vma (m , vma , is_pid );
632
628
0 commit comments