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: frv-defconfig (attached as .config)
compiler: frv-linux-gcc (GCC) 4.9.0
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=frv 

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/frv/include/asm/pgtable.h:25,
                    from mm/init-mm.c:9:
   include/linux/mm.h: In function 'maybe_mkwrite':
   include/linux/mm.h:624:3: error: implicit declaration of function 
'pte_mkwrite' [-Werror=implicit-function-declaration]
      pte = pte_mkwrite(pte);
      ^
   include/linux/mm.h:624:7: error: incompatible types when assigning to type 
'pte_t' from type 'int'
      pte = pte_mkwrite(pte);
          ^
   In file included from include/linux/kmemleak.h:24:0,
                    from include/linux/slab.h:117,
                    from arch/frv/include/asm/pgtable.h:25,
                    from mm/init-mm.c:9:
   include/linux/mm.h: In function 'mm_nr_pmds_init':
>> include/linux/mm.h:1576:21: error: 'struct mm_struct' has no member named 
>> 'nr_pmds'
     atomic_long_set(&mm->nr_pmds, 0);
                        ^
   include/linux/mm.h: In function 'mm_nr_pmds':
   include/linux/mm.h:1581:29: error: 'struct mm_struct' has no member named 
'nr_pmds'
     return atomic_long_read(&mm->nr_pmds);
                                ^
   include/linux/mm.h: In function 'mm_inc_nr_pmds':
   include/linux/mm.h:1586:21: error: 'struct mm_struct' has no member named 
'nr_pmds'
     atomic_long_inc(&mm->nr_pmds);
                        ^
   include/linux/mm.h: In function 'mm_dec_nr_pmds':
   include/linux/mm.h:1591:21: error: 'struct mm_struct' has no member named 
'nr_pmds'
     atomic_long_dec(&mm->nr_pmds);
                        ^
   include/linux/mm.h: In function 'pud_alloc':
>> include/linux/mm.h:1605:2: error: implicit declaration of function 
>> 'pgd_none' [-Werror=implicit-function-declaration]
     return (unlikely(pgd_none(*pgd)) && __pud_alloc(mm, pgd, address))?
     ^
>> include/linux/mm.h:1606:3: error: implicit declaration of function 
>> 'pud_offset' [-Werror=implicit-function-declaration]
      NULL: pud_offset(pgd, address);
      ^
>> include/linux/mm.h:1606:7: warning: pointer/integer type mismatch in 
>> conditional expression
      NULL: pud_offset(pgd, address);
          ^
   include/linux/mm.h: In function 'pmd_alloc':
>> include/linux/mm.h:1611:2: error: implicit declaration of function 
>> 'pud_none' [-Werror=implicit-function-declaration]
     return (unlikely(pud_none(*pud)) && __pmd_alloc(mm, pud, address))?
     ^
>> include/linux/mm.h:1612:3: error: implicit declaration of function 
>> 'pmd_offset' [-Werror=implicit-function-declaration]
      NULL: pmd_offset(pud, address);
      ^
   include/linux/mm.h:1612:7: warning: pointer/integer type mismatch in 
conditional expression
      NULL: pmd_offset(pud, address);
          ^
   include/linux/mm.h: In function 'pgtable_init':
   include/linux/mm.h:1690:2: error: implicit declaration of function 
'pgtable_cache_init' [-Werror=implicit-function-declaration]
     pgtable_cache_init();
     ^
   In file included from mm/init-mm.c:9:0:
   arch/frv/include/asm/pgtable.h: At top level:
>> arch/frv/include/asm/pgtable.h:196:19: error: static declaration of 
>> 'pgd_none' follows non-static declaration
    static inline int pgd_none(pgd_t pgd)  { return 0; }
                      ^
   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from include/uapi/linux/posix_types.h:4,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/linux/mm_types.h:5,
                    from mm/init-mm.c:1:
   include/linux/mm.h:1605:19: note: previous implicit declaration of 
'pgd_none' was here
     return (unlikely(pgd_none(*pgd)) && __pud_alloc(mm, pgd, address))?
                      ^
   include/linux/compiler.h:168:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
   In file included from mm/init-mm.c:9:0:
>> arch/frv/include/asm/pgtable.h:212:22: error: conflicting types for 
>> 'pud_offset'
    static inline pud_t *pud_offset(pgd_t *pgd, unsigned long address)
                         ^
   In file included from include/linux/kmemleak.h:24:0,
                    from include/linux/slab.h:117,
                    from arch/frv/include/asm/pgtable.h:25,
                    from mm/init-mm.c:9:
   include/linux/mm.h:1606:9: note: previous implicit declaration of 
'pud_offset' was here
      NULL: pud_offset(pgd, address);
            ^
   In file included from mm/init-mm.c:9:0:
>> arch/frv/include/asm/pgtable.h:233:19: error: static declaration of 
>> 'pud_none' follows non-static declaration
    static inline int pud_none(pud_t pud)  { return 0; }
                      ^
   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from include/uapi/linux/posix_types.h:4,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/linux/mm_types.h:5,
                    from mm/init-mm.c:1:
   include/linux/mm.h:1611:19: note: previous implicit declaration of 
'pud_none' was here
     return (unlikely(pud_none(*pud)) && __pmd_alloc(mm, pud, address))?
                      ^
   include/linux/compiler.h:168:42: note: in definition of macro 'unlikely'
    # define unlikely(x) __builtin_expect(!!(x), 0)
                                             ^
   In file included from mm/init-mm.c:9:0:
>> arch/frv/include/asm/pgtable.h:262:22: error: conflicting types for 
>> 'pmd_offset'
    static inline pmd_t *pmd_offset(pud_t *dir, unsigned long address)
                         ^
   In file included from include/linux/kmemleak.h:24:0,
                    from include/linux/slab.h:117,
                    from arch/frv/include/asm/pgtable.h:25,
                    from mm/init-mm.c:9:
   include/linux/mm.h:1612:9: note: previous implicit declaration of 
'pmd_offset' was here
      NULL: pmd_offset(pud, address);
            ^
   In file included from mm/init-mm.c:9:0:
>> arch/frv/include/asm/pgtable.h:385:21: error: conflicting types for 
>> 'pte_mkwrite'
    static inline pte_t pte_mkwrite(pte_t pte) { (pte).pte &= ~_PAGE_WP; return 
pte; }
                        ^
   In file included from include/linux/kmemleak.h:24:0,
                    from include/linux/slab.h:117,
                    from arch/frv/include/asm/pgtable.h:25,
                    from mm/init-mm.c:9:
   include/linux/mm.h:624:9: note: previous implicit declaration of 
'pte_mkwrite' was here
      pte = pte_mkwrite(pte);
            ^
   In file included from mm/init-mm.c:9:0:
>> arch/frv/include/asm/pgtable.h:517:20: warning: conflicting types for 
>> 'pgtable_cache_init'
    extern void __init pgtable_cache_init(void);
                       ^
   In file included from include/linux/kmemleak.h:24:0,
                    from include/linux/slab.h:117,
                    from arch/frv/include/asm/pgtable.h:25,
                    from mm/init-mm.c:9:
   include/linux/mm.h:1690:2: note: previous implicit declaration of 
'pgtable_cache_init' was here
     pgtable_cache_init();
     ^
   cc1: some warnings being treated as errors

vim +1576 include/linux/mm.h

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  

:::::: The code at line 1576 was first introduced by commit
:::::: 2d2f5119b8bb057595e18f5b2f07aa097ea1b233 mm: do not use mm->nr_pmds on 
!MMU configurations

:::::: TO: Kirill A. Shutemov <kirill.shute...@linux.intel.com>
:::::: 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: Binary data

Reply via email to