Hi Fan,

Thank you for the patch! Yet we hit a small issue.
[auto build test WARNING on linus/master]
[also build test WARNING on v4.14-rc6 next-20171018]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Fan-Du/proc-mm-export-PTE-sizes-directly-in-smaps/20171027-141157
config: x86_64-randconfig-x011-201743 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   fs/proc/task_mmu.c: In function 'gather_pte_stats':
>> fs/proc/task_mmu.c:1805:6: warning: 'page' may be used uninitialized in this 
>> function [-Wmaybe-uninitialized]
      if (!page)
         ^

vim +/page +1805 fs/proc/task_mmu.c

28093f9f3 Gerald Schaefer    2016-04-28  1771  
f69ff943d Stephen Wilson     2011-05-24  1772  static int 
gather_pte_stats(pmd_t *pmd, unsigned long addr,
f69ff943d Stephen Wilson     2011-05-24  1773           unsigned long end, 
struct mm_walk *walk)
f69ff943d Stephen Wilson     2011-05-24  1774  {
d85f4d6d3 Naoya Horiguchi    2015-02-11  1775   struct numa_maps *md = 
walk->private;
d85f4d6d3 Naoya Horiguchi    2015-02-11  1776   struct vm_area_struct *vma = 
walk->vma;
f69ff943d Stephen Wilson     2011-05-24  1777   spinlock_t *ptl;
f69ff943d Stephen Wilson     2011-05-24  1778   pte_t *orig_pte;
f69ff943d Stephen Wilson     2011-05-24  1779   pte_t *pte;
3bf801467 Fan Du             2017-10-24  1780   struct page *page;
f69ff943d Stephen Wilson     2011-05-24  1781  
28093f9f3 Gerald Schaefer    2016-04-28  1782  #ifdef 
CONFIG_TRANSPARENT_HUGEPAGE
b6ec57f4b Kirill A. Shutemov 2016-01-21  1783   ptl = pmd_trans_huge_lock(pmd, 
vma);
b6ec57f4b Kirill A. Shutemov 2016-01-21  1784   if (ptl) {
3bf801467 Fan Du             2017-10-24  1785           if (!vma_is_dax(vma))
28093f9f3 Gerald Schaefer    2016-04-28  1786                   page = 
can_gather_numa_stats_pmd(*pmd, vma, addr);
3bf801467 Fan Du             2017-10-24  1787           else if 
(pmd_devmap(*pmd))
3bf801467 Fan Du             2017-10-24  1788                   page = 
pmd_page(*pmd);
32ef43848 Dave Hansen        2011-09-20  1789           if (page)
28093f9f3 Gerald Schaefer    2016-04-28  1790                   
gather_stats(page, md, pmd_dirty(*pmd),
32ef43848 Dave Hansen        2011-09-20  1791                                
HPAGE_PMD_SIZE/PAGE_SIZE);
bf929152e Kirill A. Shutemov 2013-11-14  1792           spin_unlock(ptl);
32ef43848 Dave Hansen        2011-09-20  1793           return 0;
32ef43848 Dave Hansen        2011-09-20  1794   }
32ef43848 Dave Hansen        2011-09-20  1795  
1a5a9906d Andrea Arcangeli   2012-03-21  1796   if (pmd_trans_unstable(pmd))
1a5a9906d Andrea Arcangeli   2012-03-21  1797           return 0;
28093f9f3 Gerald Schaefer    2016-04-28  1798  #endif
f69ff943d Stephen Wilson     2011-05-24  1799   orig_pte = pte = 
pte_offset_map_lock(walk->mm, pmd, addr, &ptl);
f69ff943d Stephen Wilson     2011-05-24  1800   do {
3bf801467 Fan Du             2017-10-24  1801           if (!vma_is_dax(vma))
3bf801467 Fan Du             2017-10-24  1802                   page = 
can_gather_numa_stats(*pte, vma, addr);
3bf801467 Fan Du             2017-10-24  1803           else if 
(pte_devmap(*pte))
3bf801467 Fan Du             2017-10-24  1804                   page = 
pte_page(*pte);
f69ff943d Stephen Wilson     2011-05-24 @1805           if (!page)
f69ff943d Stephen Wilson     2011-05-24  1806                   continue;
eb4866d00 Dave Hansen        2011-09-20  1807           gather_stats(page, md, 
pte_dirty(*pte), 1);
f69ff943d Stephen Wilson     2011-05-24  1808  
f69ff943d Stephen Wilson     2011-05-24  1809   } while (pte++, addr += 
PAGE_SIZE, addr != end);
f69ff943d Stephen Wilson     2011-05-24  1810   pte_unmap_unlock(orig_pte, ptl);
a66c0410b Hugh Dickins       2016-12-12  1811   cond_resched();
f69ff943d Stephen Wilson     2011-05-24  1812   return 0;
f69ff943d Stephen Wilson     2011-05-24  1813  }
f69ff943d Stephen Wilson     2011-05-24  1814  #ifdef CONFIG_HUGETLB_PAGE
632fd60fe Naoya Horiguchi    2015-02-11  1815  static int 
gather_hugetlb_stats(pte_t *pte, unsigned long hmask,
f69ff943d Stephen Wilson     2011-05-24  1816           unsigned long addr, 
unsigned long end, struct mm_walk *walk)
f69ff943d Stephen Wilson     2011-05-24  1817  {
5c2ff95e4 Michael Holzheu    2016-02-02  1818   pte_t huge_pte = 
huge_ptep_get(pte);
f69ff943d Stephen Wilson     2011-05-24  1819   struct numa_maps *md;
f69ff943d Stephen Wilson     2011-05-24  1820   struct page *page;
f69ff943d Stephen Wilson     2011-05-24  1821  
5c2ff95e4 Michael Holzheu    2016-02-02  1822   if (!pte_present(huge_pte))
f69ff943d Stephen Wilson     2011-05-24  1823           return 0;
f69ff943d Stephen Wilson     2011-05-24  1824  
5c2ff95e4 Michael Holzheu    2016-02-02  1825   page = pte_page(huge_pte);
f69ff943d Stephen Wilson     2011-05-24  1826   if (!page)
f69ff943d Stephen Wilson     2011-05-24  1827           return 0;
f69ff943d Stephen Wilson     2011-05-24  1828  
f69ff943d Stephen Wilson     2011-05-24  1829   md = walk->private;
5c2ff95e4 Michael Holzheu    2016-02-02  1830   gather_stats(page, md, 
pte_dirty(huge_pte), 1);
f69ff943d Stephen Wilson     2011-05-24  1831   return 0;
f69ff943d Stephen Wilson     2011-05-24  1832  }
f69ff943d Stephen Wilson     2011-05-24  1833  

:::::: The code at line 1805 was first introduced by commit
:::::: f69ff943df6972aae96c10733b6847fa094d8a59 mm: proc: move show_numa_map() 
to fs/proc/task_mmu.c

:::::: TO: Stephen Wilson <wils...@start.ca>
:::::: CC: Linus Torvalds <torva...@linux-foundation.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to