[linux-next:master 8306/9341] include/linux/huge_mm.h:110:4: warning: passing argument 2 of '__split_huge_pmd' makes pointer from integer without a cast

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

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   fb68b25a96efb490505cff9f9bc2bfac89265b1a
commit: dd968da779361ddf808028d34ab1d6d91e94a218 [8306/9341] mm-support-madvisemadv_free-vs-thp-rename-split_huge_page_pmd-to-split_huge_pmd
config: sparc64-allmodconfig (attached as .config)
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
        git checkout dd968da779361ddf808028d34ab1d6d91e94a218
        # save the attached .config to linux build tree
        make.cross ARCH=sparc64 

All warnings (new ones prefixed by >>):

   In file included from include/linux/mm.h:322:0,
                    from include/linux/mman.h:4,
                    from mm/madvise.c:8:
   mm/madvise.c: In function 'madvise_free_pte_range':
   include/linux/huge_mm.h:108:20: warning: initialization makes pointer from integer without a cast
      pmd_t *____pmd = (__pmd);    \
                       ^
   mm/madvise.c:280:2: note: in expansion of macro 'split_huge_pmd'
     split_huge_pmd(vma, addr, pmd);
     ^
>> include/linux/huge_mm.h:110:4: warning: passing argument 2 of '__split_huge_pmd' makes pointer from integer without a cast
       __split_huge_pmd(__vma, __pmd, __address); \
       ^
   mm/madvise.c:280:2: note: in expansion of macro 'split_huge_pmd'
     split_huge_pmd(vma, addr, pmd);
     ^
   include/linux/huge_mm.h:103:6: note: expected 'struct pmd_t *' but argument is of type 'long unsigned int'
    void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
         ^
>> include/linux/huge_mm.h:110:4: warning: passing argument 3 of '__split_huge_pmd' makes integer from pointer without a cast
       __split_huge_pmd(__vma, __pmd, __address); \
       ^
   mm/madvise.c:280:2: note: in expansion of macro 'split_huge_pmd'
     split_huge_pmd(vma, addr, pmd);
     ^
   include/linux/huge_mm.h:103:6: note: expected 'long unsigned int' but argument is of type 'struct pmd_t *'
    void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
         ^

vim +/__split_huge_pmd +110 include/linux/huge_mm.h

21cb49a1 Kirill A. Shutemov 2015-10-16  102  
21cb49a1 Kirill A. Shutemov 2015-10-16  103  void __split_huge_pmd(struct vm_area_struct *vma, pmd_t *pmd,
21cb49a1 Kirill A. Shutemov 2015-10-16  104  		unsigned long address);
21cb49a1 Kirill A. Shutemov 2015-10-16  105  
21cb49a1 Kirill A. Shutemov 2015-10-16  106  #define split_huge_pmd(__vma, __pmd, __address)				\
21cb49a1 Kirill A. Shutemov 2015-10-16  107  	do {								\
21cb49a1 Kirill A. Shutemov 2015-10-16 @108  		pmd_t *____pmd = (__pmd);				\
21cb49a1 Kirill A. Shutemov 2015-10-16  109  		if (pmd_trans_huge(*____pmd))				\
21cb49a1 Kirill A. Shutemov 2015-10-16 @110  			__split_huge_pmd(__vma, __pmd, __address);	\
21cb49a1 Kirill A. Shutemov 2015-10-16  111  	}  while (0)
5ab225f9 Kirill A. Shutemov 2015-10-16  112  
dfa5e237 Steve Capper       2013-05-07  113  #if HPAGE_PMD_ORDER >= MAX_ORDER

:::::: The code at line 110 was first introduced by commit
:::::: 21cb49a1f006a086bdd7127bf376e4ea751bfea7 thp: implement split_huge_pmd()

:::::: TO: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
:::::: CC: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>

---
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]