Re: [PATCH] mm: kmemleak: Avoid using __va() on addresses that don't have a lowmem mapping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Catalin,

[auto build test ERROR on mmotm/master]
[also build test ERROR on v4.8-rc2 next-20160816]
[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/Catalin-Marinas/mm-kmemleak-Avoid-using-__va-on-addresses-that-don-t-have-a-lowmem-mapping/20160816-232733
base:   git://git.cmpxchg.org/linux-mmotm.git master
config: tile-tilegx_defconfig (attached as .config)
compiler: tilegx-linux-gcc (GCC) 4.6.2
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=tile 

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/kmemleak.h:24:0,
   from include/linux/slab.h:117,
   from arch/tile/include/asm/pgtable.h:27,
   from mm/init-mm.c:9:
   include/linux/mm.h: In function 'is_vmalloc_addr':
   include/linux/mm.h:486:17: error: 'VMALLOC_START' undeclared (first use in this function)
   include/linux/mm.h:486:17: note: each undeclared identifier is reported only once for each function it appears in
   include/linux/mm.h:486:41: error: 'VMALLOC_END' undeclared (first use in this function)
   include/linux/mm.h: In function 'maybe_mkwrite':
   include/linux/mm.h:624:3: error: implicit declaration of function 'pte_mkwrite'
   include/linux/mm.h:624:7: error: incompatible types when assigning to type 'pte_t' from type 'int'
   In file included from include/linux/kmemleak.h:24:0,
   from include/linux/slab.h:117,
   from arch/tile/include/asm/pgtable.h:27,
   from mm/init-mm.c:9:
   include/linux/mm.h: At top level:
>> include/linux/mm.h:1572:39: error: unknown type name 'pud_t'
   include/linux/mm.h:1603:1: error: unknown type name 'pud_t'
   include/linux/mm.h: In function 'pud_alloc':
   include/linux/mm.h:1605:2: error: implicit declaration of function 'pgd_none'
   include/linux/mm.h:1606:3: error: implicit declaration of function 'pud_offset'
   include/linux/mm.h:1606:7: warning: pointer/integer type mismatch in conditional expression [enabled by default]
   include/linux/mm.h: At top level:
   include/linux/mm.h:1609:54: error: unknown type name 'pud_t'
   include/linux/mm.h: In function 'pte_lockptr':
>> include/linux/mm.h:1648:2: error: implicit declaration of function 'pmd_page'
>> include/linux/mm.h:1648:2: warning: passing argument 1 of 'ptlock_ptr' makes pointer from integer without a cast [enabled by default]
   include/linux/mm.h:1640:27: note: expected 'struct page but argument is of type 'int'
   include/linux/mm.h: In function 'pgtable_init':
   include/linux/mm.h:1690:2: error: implicit declaration of function 'pgtable_cache_init'
   In file included from include/linux/kmemleak.h:24:0,
   from include/linux/slab.h:117,
   from arch/tile/include/asm/pgtable.h:27,
   from mm/init-mm.c:9:
   include/linux/mm.h: At top level:
   include/linux/mm.h:2330:1: error: unknown type name 'pud_t'
   include/linux/mm.h:2331:29: error: unknown type name 'pud_t'
   In file included from mm/init-mm.c:9:0:
>> arch/tile/include/asm/pgtable.h:66:13: warning: conflicting types for 'pgtable_cache_init' [enabled by default]
   include/linux/mm.h:1690:2: note: previous implicit declaration of 'pgtable_cache_init' was here
   In file included from arch/tile/include/asm/pgtable_64.h:62:0,
   from arch/tile/include/asm/pgtable.h:359,
   from mm/init-mm.c:9:
>> include/asm-generic/pgtable-nopud.h:25:19: error: static declaration of 'pgd_none' follows non-static declaration
   include/linux/mm.h:1605:10: note: previous implicit declaration of 'pgd_none' was here
>> include/asm-generic/pgtable-nopud.h:38:23: error: conflicting types for 'pud_offset'
   include/linux/mm.h:1606:9: note: previous implicit declaration of 'pud_offset' was here
   cc1: some warnings being treated as errors

vim +/pud_t +1572 include/linux/mm.h

dc6c9a35 Kirill A. Shutemov 2015-02-11  1566  }
dc6c9a35 Kirill A. Shutemov 2015-02-11  1567  
dc6c9a35 Kirill A. Shutemov 2015-02-11  1568  static inline void mm_inc_nr_pmds(struct mm_struct *mm) {}
dc6c9a35 Kirill A. Shutemov 2015-02-11  1569  static inline void mm_dec_nr_pmds(struct mm_struct *mm) {}
dc6c9a35 Kirill A. Shutemov 2015-02-11  1570  
5f22df00 Nick Piggin        2007-05-06  1571  #else
1bb3630e Hugh Dickins       2005-10-29 @1572  int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address);
dc6c9a35 Kirill A. Shutemov 2015-02-11  1573  
2d2f5119 Kirill A. Shutemov 2015-02-12  1574  static inline void mm_nr_pmds_init(struct mm_struct *mm)
2d2f5119 Kirill A. Shutemov 2015-02-12  1575  {
2d2f5119 Kirill A. Shutemov 2015-02-12  1576  	atomic_long_set(&mm->nr_pmds, 0);
2d2f5119 Kirill A. Shutemov 2015-02-12  1577  }
2d2f5119 Kirill A. Shutemov 2015-02-12  1578  
dc6c9a35 Kirill A. Shutemov 2015-02-11  1579  static inline unsigned long mm_nr_pmds(struct mm_struct *mm)
dc6c9a35 Kirill A. Shutemov 2015-02-11  1580  {
dc6c9a35 Kirill A. Shutemov 2015-02-11  1581  	return atomic_long_read(&mm->nr_pmds);
dc6c9a35 Kirill A. Shutemov 2015-02-11  1582  }
dc6c9a35 Kirill A. Shutemov 2015-02-11  1583  
dc6c9a35 Kirill A. Shutemov 2015-02-11  1584  static inline void mm_inc_nr_pmds(struct mm_struct *mm)
dc6c9a35 Kirill A. Shutemov 2015-02-11  1585  {
dc6c9a35 Kirill A. Shutemov 2015-02-11  1586  	atomic_long_inc(&mm->nr_pmds);
dc6c9a35 Kirill A. Shutemov 2015-02-11  1587  }
dc6c9a35 Kirill A. Shutemov 2015-02-11  1588  
dc6c9a35 Kirill A. Shutemov 2015-02-11  1589  static inline void mm_dec_nr_pmds(struct mm_struct *mm)
dc6c9a35 Kirill A. Shutemov 2015-02-11  1590  {
dc6c9a35 Kirill A. Shutemov 2015-02-11  1591  	atomic_long_dec(&mm->nr_pmds);
dc6c9a35 Kirill A. Shutemov 2015-02-11  1592  }
5f22df00 Nick Piggin        2007-05-06  1593  #endif
5f22df00 Nick Piggin        2007-05-06  1594  
3ed3a4f0 Kirill A. Shutemov 2016-03-17  1595  int __pte_alloc(struct mm_struct *mm, pmd_t *pmd, unsigned long address);
1bb3630e Hugh Dickins       2005-10-29  1596  int __pte_alloc_kernel(pmd_t *pmd, unsigned long address);
1bb3630e Hugh Dickins       2005-10-29  1597  
^1da177e Linus Torvalds     2005-04-16  1598  /*
^1da177e Linus Torvalds     2005-04-16  1599   * The following ifdef needed to get the 4level-fixup.h header to work.
^1da177e Linus Torvalds     2005-04-16  1600   * Remove it when 4level-fixup.h has been removed.
^1da177e Linus Torvalds     2005-04-16  1601   */
1bb3630e Hugh Dickins       2005-10-29  1602  #if defined(CONFIG_MMU) && !defined(__ARCH_HAS_4LEVEL_HACK)
^1da177e Linus Torvalds     2005-04-16 @1603  static inline pud_t *pud_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address)
^1da177e Linus Torvalds     2005-04-16  1604  {
1bb3630e Hugh Dickins       2005-10-29  1605  	return (unlikely(pgd_none(*pgd)) && __pud_alloc(mm, pgd, address))?
1bb3630e Hugh Dickins       2005-10-29  1606  		NULL: pud_offset(pgd, address);
^1da177e Linus Torvalds     2005-04-16  1607  }
^1da177e Linus Torvalds     2005-04-16  1608  
^1da177e Linus Torvalds     2005-04-16  1609  static inline pmd_t *pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address)
^1da177e Linus Torvalds     2005-04-16  1610  {
1bb3630e Hugh Dickins       2005-10-29  1611  	return (unlikely(pud_none(*pud)) && __pmd_alloc(mm, pud, address))?
1bb3630e Hugh Dickins       2005-10-29  1612  		NULL: pmd_offset(pud, address);
^1da177e Linus Torvalds     2005-04-16  1613  }
1bb3630e Hugh Dickins       2005-10-29  1614  #endif /* CONFIG_MMU && !__ARCH_HAS_4LEVEL_HACK */
1bb3630e Hugh Dickins       2005-10-29  1615  
57c1ffce Kirill A. Shutemov 2013-11-14  1616  #if USE_SPLIT_PTE_PTLOCKS
597d795a Kirill A. Shutemov 2013-12-20  1617  #if ALLOC_SPLIT_PTLOCKS
b35f1819 Kirill A. Shutemov 2014-01-21  1618  void __init ptlock_cache_init(void);
539edb58 Peter Zijlstra     2013-11-14  1619  extern bool ptlock_alloc(struct page *page);
539edb58 Peter Zijlstra     2013-11-14  1620  extern void ptlock_free(struct page *page);
539edb58 Peter Zijlstra     2013-11-14  1621  
539edb58 Peter Zijlstra     2013-11-14  1622  static inline spinlock_t *ptlock_ptr(struct page *page)
539edb58 Peter Zijlstra     2013-11-14  1623  {
539edb58 Peter Zijlstra     2013-11-14  1624  	return page->ptl;
539edb58 Peter Zijlstra     2013-11-14  1625  }
597d795a Kirill A. Shutemov 2013-12-20  1626  #else /* ALLOC_SPLIT_PTLOCKS */
b35f1819 Kirill A. Shutemov 2014-01-21  1627  static inline void ptlock_cache_init(void)
b35f1819 Kirill A. Shutemov 2014-01-21  1628  {
b35f1819 Kirill A. Shutemov 2014-01-21  1629  }
b35f1819 Kirill A. Shutemov 2014-01-21  1630  
49076ec2 Kirill A. Shutemov 2013-11-14  1631  static inline bool ptlock_alloc(struct page *page)
49076ec2 Kirill A. Shutemov 2013-11-14  1632  {
49076ec2 Kirill A. Shutemov 2013-11-14  1633  	return true;
49076ec2 Kirill A. Shutemov 2013-11-14  1634  }
539edb58 Peter Zijlstra     2013-11-14  1635  
49076ec2 Kirill A. Shutemov 2013-11-14  1636  static inline void ptlock_free(struct page *page)
49076ec2 Kirill A. Shutemov 2013-11-14  1637  {
49076ec2 Kirill A. Shutemov 2013-11-14  1638  }
49076ec2 Kirill A. Shutemov 2013-11-14  1639  
49076ec2 Kirill A. Shutemov 2013-11-14  1640  static inline spinlock_t *ptlock_ptr(struct page *page)
49076ec2 Kirill A. Shutemov 2013-11-14  1641  {
539edb58 Peter Zijlstra     2013-11-14  1642  	return &page->ptl;
49076ec2 Kirill A. Shutemov 2013-11-14  1643  }
597d795a Kirill A. Shutemov 2013-12-20  1644  #endif /* ALLOC_SPLIT_PTLOCKS */
49076ec2 Kirill A. Shutemov 2013-11-14  1645  
49076ec2 Kirill A. Shutemov 2013-11-14  1646  static inline spinlock_t *pte_lockptr(struct mm_struct *mm, pmd_t *pmd)
49076ec2 Kirill A. Shutemov 2013-11-14  1647  {
49076ec2 Kirill A. Shutemov 2013-11-14 @1648  	return ptlock_ptr(pmd_page(*pmd));
49076ec2 Kirill A. Shutemov 2013-11-14  1649  }
49076ec2 Kirill A. Shutemov 2013-11-14  1650  
49076ec2 Kirill A. Shutemov 2013-11-14  1651  static inline bool ptlock_init(struct page *page)

:::::: The code at line 1572 was first introduced by commit
:::::: 1bb3630e89cb8a7b3d3807629c20c5bad88290ff [PATCH] mm: ptd_alloc inline and out

:::::: TO: Hugh Dickins <hugh@xxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxx>

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

Attachment: .config.gz
Description: Binary data


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]