Hi Michal, [auto build test ERROR on mmotm/master] [also build test ERROR on next-20170509] [cannot apply to v4.11] [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/Michal-Hocko/mm-vmalloc-fix-vmalloc-users-tracking-properly/20170509-224536 base: git://git.cmpxchg.org/linux-mmotm.git master config: c6x-evmc6678_defconfig (attached as .config) compiler: c6x-elf-gcc (GCC) 6.2.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=c6x All error/warnings (new ones prefixed by >>): block/bio.c:879:48: sparse: cast truncates bits from constant value (7fffffffffffffff becomes ffffffff) In file included from include/asm-generic/io.h:767:0, from ./arch/c6x/include/generated/asm/io.h:1, from include/linux/io.h:25, from include/linux/irq.h:24, from include/asm-generic/hardirq.h:12, from arch/c6x/include/asm/hardirq.h:18, from include/linux/hardirq.h:8, from include/linux/memcontrol.h:24, from include/linux/swap.h:8, from block/bio.c:19: >> include/linux/vmalloc.h:85:21: error: conflicting types for '__vmalloc_node_flags_caller' static inline void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags, void* caller) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h:84:14: note: previous declaration of '__vmalloc_node_flags_caller' was here extern void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h: In function '__vmalloc_node_flags_caller': >> include/linux/vmalloc.h:87:9: error: implicit declaration of function '__vmalloc_node_flags' [-Werror=implicit-function-declaration] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~ >> include/linux/vmalloc.h:87:9: warning: return makes pointer from integer without a cast [-Wint-conversion] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- block/blk-core.c:1145:24: sparse: context imbalance in '__get_request' - unexpected unlock block/blk-core.c:1284:23: sparse: context imbalance in 'blk_old_get_request' - different lock contexts for basic block block/blk-core.c:1651:17: sparse: context imbalance in 'blk_queue_bio' - different lock contexts for basic block block/blk-core.c:3269:17: sparse: context imbalance in 'blk_flush_plug_list' - unexpected unlock In file included from include/asm-generic/io.h:767:0, from ./arch/c6x/include/generated/asm/io.h:1, from include/linux/io.h:25, from include/linux/irq.h:24, from include/asm-generic/hardirq.h:12, from arch/c6x/include/asm/hardirq.h:18, from include/linux/hardirq.h:8, from include/linux/highmem.h:9, from include/linux/pagemap.h:10, from include/linux/blkdev.h:15, from include/linux/backing-dev.h:14, from block/blk-core.c:16: >> include/linux/vmalloc.h:85:21: error: conflicting types for '__vmalloc_node_flags_caller' static inline void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags, void* caller) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h:84:14: note: previous declaration of '__vmalloc_node_flags_caller' was here extern void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h: In function '__vmalloc_node_flags_caller': >> include/linux/vmalloc.h:87:9: error: implicit declaration of function '__vmalloc_node_flags' [-Werror=implicit-function-declaration] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~ >> include/linux/vmalloc.h:87:9: warning: return makes pointer from integer without a cast [-Wint-conversion] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- block/blk-flush.c:271:9: sparse: context imbalance in 'flush_end_io' - different lock contexts for basic block In file included from include/asm-generic/io.h:767:0, from ./arch/c6x/include/generated/asm/io.h:1, from include/linux/io.h:25, from include/linux/irq.h:24, from include/asm-generic/hardirq.h:12, from arch/c6x/include/asm/hardirq.h:18, from include/linux/hardirq.h:8, from include/linux/highmem.h:9, from include/linux/bio.h:21, from block/blk-flush.c:69: >> include/linux/vmalloc.h:85:21: error: conflicting types for '__vmalloc_node_flags_caller' static inline void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags, void* caller) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h:84:14: note: previous declaration of '__vmalloc_node_flags_caller' was here extern void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h: In function '__vmalloc_node_flags_caller': >> include/linux/vmalloc.h:87:9: error: implicit declaration of function '__vmalloc_node_flags' [-Werror=implicit-function-declaration] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~ >> include/linux/vmalloc.h:87:9: warning: return makes pointer from integer without a cast [-Wint-conversion] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- block/blk-ioc.c:110:28: sparse: context imbalance in 'ioc_release_fn' - different lock contexts for basic block block/blk-ioc.c:191:9: sparse: context imbalance in 'put_io_context_active' - different lock contexts for basic block In file included from include/asm-generic/io.h:767:0, from ./arch/c6x/include/generated/asm/io.h:1, from include/linux/io.h:25, from include/linux/irq.h:24, from include/asm-generic/hardirq.h:12, from arch/c6x/include/asm/hardirq.h:18, from include/linux/hardirq.h:8, from include/linux/highmem.h:9, from include/linux/bio.h:21, from block/blk-ioc.c:7: >> include/linux/vmalloc.h:85:21: error: conflicting types for '__vmalloc_node_flags_caller' static inline void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags, void* caller) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h:84:14: note: previous declaration of '__vmalloc_node_flags_caller' was here extern void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h: In function '__vmalloc_node_flags_caller': >> include/linux/vmalloc.h:87:9: error: implicit declaration of function '__vmalloc_node_flags' [-Werror=implicit-function-declaration] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~ >> include/linux/vmalloc.h:87:9: warning: return makes pointer from integer without a cast [-Wint-conversion] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- include/linux/sched.h:1526:16: sparse: incorrect type in argument 1 (different modifiers) include/linux/sched.h:1526:16: expected struct thread_info *ti include/linux/sched.h:1526:16: got struct thread_info [pure] * In file included from include/asm-generic/io.h:767:0, from ./arch/c6x/include/generated/asm/io.h:1, from include/linux/io.h:25, from include/linux/irq.h:24, from include/asm-generic/hardirq.h:12, from arch/c6x/include/asm/hardirq.h:18, from include/linux/hardirq.h:8, from include/linux/highmem.h:9, from include/linux/pagemap.h:10, from include/linux/blkdev.h:15, from include/linux/backing-dev.h:14, from block/blk-mq.c:9: >> include/linux/vmalloc.h:85:21: error: conflicting types for '__vmalloc_node_flags_caller' static inline void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags, void* caller) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h:84:14: note: previous declaration of '__vmalloc_node_flags_caller' was here extern void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h: In function '__vmalloc_node_flags_caller': >> include/linux/vmalloc.h:87:9: error: implicit declaration of function '__vmalloc_node_flags' [-Werror=implicit-function-declaration] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~ >> include/linux/vmalloc.h:87:9: warning: return makes pointer from integer without a cast [-Wint-conversion] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- block/ioctl.c:263:16: expected void const volatile [noderef] * block/ioctl.c:263:16: got unsigned short * block/ioctl.c:263:16: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:263:16: expected void [noderef] *ptr block/ioctl.c:263:16: got unsigned short * block/ioctl.c:268:16: sparse: incorrect type in initializer (different address spaces) block/ioctl.c:268:16: expected void *__p block/ioctl.c:268:16: got int [noderef] * block/ioctl.c:268:16: sparse: incorrect type in argument 1 (different address spaces) block/ioctl.c:268:16: expected void const volatile [noderef] * block/ioctl.c:268:16: got int * block/ioctl.c:268:16: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:268:16: expected void [noderef] *ptr block/ioctl.c:268:16: got int * block/ioctl.c:273:16: sparse: incorrect type in initializer (different address spaces) block/ioctl.c:273:16: expected void *__p block/ioctl.c:273:16: got unsigned int [noderef] * block/ioctl.c:273:16: sparse: incorrect type in argument 1 (different address spaces) block/ioctl.c:273:16: expected void const volatile [noderef] * block/ioctl.c:273:16: got unsigned int * block/ioctl.c:273:16: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:273:16: expected void [noderef] *ptr block/ioctl.c:273:16: got unsigned int * block/ioctl.c:278:16: sparse: incorrect type in initializer (different address spaces) block/ioctl.c:278:16: expected void *__p block/ioctl.c:278:16: got long [noderef] * block/ioctl.c:278:16: sparse: incorrect type in argument 1 (different address spaces) block/ioctl.c:278:16: expected void const volatile [noderef] * block/ioctl.c:278:16: got long * block/ioctl.c:278:16: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:278:16: expected void [noderef] *ptr block/ioctl.c:278:16: got long * block/ioctl.c:283:16: sparse: incorrect type in initializer (different address spaces) block/ioctl.c:283:16: expected void *__p block/ioctl.c:283:16: got unsigned long [noderef] * block/ioctl.c:283:16: sparse: incorrect type in argument 1 (different address spaces) block/ioctl.c:283:16: expected void const volatile [noderef] * block/ioctl.c:283:16: got unsigned long * block/ioctl.c:283:16: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:283:16: expected void [noderef] *ptr block/ioctl.c:283:16: got unsigned long * block/ioctl.c:288:16: sparse: incorrect type in initializer (different address spaces) block/ioctl.c:288:16: expected void *__p block/ioctl.c:288:16: got unsigned long long [noderef] [usertype] * block/ioctl.c:288:16: sparse: incorrect type in argument 1 (different address spaces) block/ioctl.c:288:16: expected void const volatile [noderef] * block/ioctl.c:288:16: got unsigned long long * block/ioctl.c:288:16: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:288:16: expected void [noderef] *ptr block/ioctl.c:288:16: got unsigned long long * block/ioctl.c:445:13: sparse: incorrect type in initializer (different address spaces) block/ioctl.c:445:13: expected void const *__p block/ioctl.c:445:13: got int [noderef] * block/ioctl.c:445:13: sparse: incorrect type in argument 1 (different address spaces) block/ioctl.c:445:13: expected void const volatile [noderef] * block/ioctl.c:445:13: got int * block/ioctl.c:445:13: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:445:13: expected void const [noderef] *ptr block/ioctl.c:445:13: got int * block/ioctl.c:445:13: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:445:13: expected void const [noderef] *ptr block/ioctl.c:445:13: got int * block/ioctl.c:445:13: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:445:13: expected void const [noderef] *ptr block/ioctl.c:445:13: got int * block/ioctl.c:445:13: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:445:13: expected void const [noderef] *ptr block/ioctl.c:445:13: got int * include/linux/uaccess.h:166:18: sparse: incorrect type in argument 1 (different modifiers) include/linux/uaccess.h:166:18: expected void * include/linux/uaccess.h:166:18: got void const *from block/ioctl.c:487:13: sparse: incorrect type in initializer (different address spaces) block/ioctl.c:487:13: expected void const *__p block/ioctl.c:487:13: got int [noderef] *argp block/ioctl.c:487:13: sparse: incorrect type in argument 1 (different address spaces) block/ioctl.c:487:13: expected void const volatile [noderef] * block/ioctl.c:487:13: got int * block/ioctl.c:487:13: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:487:13: expected void const [noderef] *ptr block/ioctl.c:487:13: got int * block/ioctl.c:487:13: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:487:13: expected void const [noderef] *ptr block/ioctl.c:487:13: got int * block/ioctl.c:487:13: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:487:13: expected void const [noderef] *ptr block/ioctl.c:487:13: got int * block/ioctl.c:487:13: sparse: incorrect type in argument 2 (different address spaces) block/ioctl.c:487:13: expected void const [noderef] *ptr block/ioctl.c:487:13: got int * In file included from include/asm-generic/io.h:767:0, from ./arch/c6x/include/generated/asm/io.h:1, from include/linux/io.h:25, from include/linux/irq.h:24, from include/asm-generic/hardirq.h:12, from arch/c6x/include/asm/hardirq.h:18, from include/linux/hardirq.h:8, from include/linux/highmem.h:9, from include/linux/pagemap.h:10, from include/linux/blkdev.h:15, from block/ioctl.c:2: >> include/linux/vmalloc.h:85:21: error: conflicting types for '__vmalloc_node_flags_caller' static inline void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags, void* caller) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h:84:14: note: previous declaration of '__vmalloc_node_flags_caller' was here extern void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h: In function '__vmalloc_node_flags_caller': >> include/linux/vmalloc.h:87:9: error: implicit declaration of function '__vmalloc_node_flags' [-Werror=implicit-function-declaration] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~ >> include/linux/vmalloc.h:87:9: warning: return makes pointer from integer without a cast [-Wint-conversion] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- block/genhd.c:1462:10: sparse: bad integer constant expression block/genhd.c:1463:10: sparse: bad integer constant expression block/genhd.c:1467:10: sparse: bad integer constant expression block/genhd.c:1468:10: sparse: bad integer constant expression In file included from include/asm-generic/io.h:767:0, from ./arch/c6x/include/generated/asm/io.h:1, from include/linux/io.h:25, from include/linux/irq.h:24, from include/asm-generic/hardirq.h:12, from arch/c6x/include/asm/hardirq.h:18, from include/linux/hardirq.h:8, from include/linux/highmem.h:9, from include/linux/pagemap.h:10, from include/linux/blkdev.h:15, from block/genhd.c:10: >> include/linux/vmalloc.h:85:21: error: conflicting types for '__vmalloc_node_flags_caller' static inline void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags, void* caller) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h:84:14: note: previous declaration of '__vmalloc_node_flags_caller' was here extern void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h: In function '__vmalloc_node_flags_caller': >> include/linux/vmalloc.h:87:9: error: implicit declaration of function '__vmalloc_node_flags' [-Werror=implicit-function-declaration] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~ >> include/linux/vmalloc.h:87:9: warning: return makes pointer from integer without a cast [-Wint-conversion] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- block/scsi_ioctl.c:103:25: expected void const [noderef] *ptr block/scsi_ioctl.c:103:25: got int * block/scsi_ioctl.c:103:25: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:103:25: expected void const [noderef] *ptr block/scsi_ioctl.c:103:25: got int * block/scsi_ioctl.c:103:25: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:103:25: expected void const [noderef] *ptr block/scsi_ioctl.c:103:25: got int * block/scsi_ioctl.c:103:25: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:103:25: expected void const [noderef] *ptr block/scsi_ioctl.c:103:25: got int * block/scsi_ioctl.c:121:16: sparse: incorrect type in initializer (different address spaces) block/scsi_ioctl.c:121:16: expected void *__p block/scsi_ioctl.c:121:16: got int [noderef] *p block/scsi_ioctl.c:121:16: sparse: incorrect type in argument 1 (different address spaces) block/scsi_ioctl.c:121:16: expected void const volatile [noderef] * block/scsi_ioctl.c:121:16: got int * block/scsi_ioctl.c:121:16: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:121:16: expected void [noderef] *ptr block/scsi_ioctl.c:121:16: got int * include/linux/uaccess.h:166:18: sparse: incorrect type in argument 1 (different modifiers) include/linux/uaccess.h:166:18: expected void * include/linux/uaccess.h:166:18: got void const *from block/scsi_ioctl.c:435:13: sparse: incorrect type in initializer (different address spaces) block/scsi_ioctl.c:435:13: expected void const *__p block/scsi_ioctl.c:435:13: got unsigned int [noderef] * block/scsi_ioctl.c:435:13: sparse: incorrect type in argument 1 (different address spaces) block/scsi_ioctl.c:435:13: expected void const volatile [noderef] * block/scsi_ioctl.c:435:13: got unsigned int * block/scsi_ioctl.c:435:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:435:13: expected void const [noderef] *ptr block/scsi_ioctl.c:435:13: got unsigned int * block/scsi_ioctl.c:435:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:435:13: expected void const [noderef] *ptr block/scsi_ioctl.c:435:13: got unsigned int * block/scsi_ioctl.c:435:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:435:13: expected void const [noderef] *ptr block/scsi_ioctl.c:435:13: got unsigned int * block/scsi_ioctl.c:435:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:435:13: expected void const [noderef] *ptr block/scsi_ioctl.c:435:13: got unsigned int * block/scsi_ioctl.c:437:13: sparse: incorrect type in initializer (different address spaces) block/scsi_ioctl.c:437:13: expected void const *__p block/scsi_ioctl.c:437:13: got unsigned int [noderef] * block/scsi_ioctl.c:437:13: sparse: incorrect type in argument 1 (different address spaces) block/scsi_ioctl.c:437:13: expected void const volatile [noderef] * block/scsi_ioctl.c:437:13: got unsigned int * block/scsi_ioctl.c:437:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:437:13: expected void const [noderef] *ptr block/scsi_ioctl.c:437:13: got unsigned int * block/scsi_ioctl.c:437:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:437:13: expected void const [noderef] *ptr block/scsi_ioctl.c:437:13: got unsigned int * block/scsi_ioctl.c:437:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:437:13: expected void const [noderef] *ptr block/scsi_ioctl.c:437:13: got unsigned int * block/scsi_ioctl.c:437:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:437:13: expected void const [noderef] *ptr block/scsi_ioctl.c:437:13: got unsigned int * block/scsi_ioctl.c:441:13: sparse: incorrect type in initializer (different address spaces) block/scsi_ioctl.c:441:13: expected void const *__p block/scsi_ioctl.c:441:13: got unsigned char [noderef] * block/scsi_ioctl.c:441:13: sparse: incorrect type in argument 1 (different address spaces) block/scsi_ioctl.c:441:13: expected void const volatile [noderef] * block/scsi_ioctl.c:441:13: got unsigned char * block/scsi_ioctl.c:441:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:441:13: expected void const [noderef] *ptr block/scsi_ioctl.c:441:13: got unsigned char * block/scsi_ioctl.c:441:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:441:13: expected void const [noderef] *ptr block/scsi_ioctl.c:441:13: got unsigned char * block/scsi_ioctl.c:441:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:441:13: expected void const [noderef] *ptr block/scsi_ioctl.c:441:13: got unsigned char * block/scsi_ioctl.c:441:13: sparse: incorrect type in argument 2 (different address spaces) block/scsi_ioctl.c:441:13: expected void const [noderef] *ptr block/scsi_ioctl.c:441:13: got unsigned char * include/linux/uaccess.h:166:18: sparse: incorrect type in argument 1 (different modifiers) include/linux/uaccess.h:166:18: expected void * include/linux/uaccess.h:166:18: got void const *from include/linux/uaccess.h:166:18: sparse: incorrect type in argument 1 (different modifiers) include/linux/uaccess.h:166:18: expected void * include/linux/uaccess.h:166:18: got void const *from include/linux/uaccess.h:166:18: sparse: incorrect type in argument 1 (different modifiers) include/linux/uaccess.h:166:18: expected void * include/linux/uaccess.h:166:18: got void const *from include/linux/uaccess.h:166:18: sparse: incorrect type in argument 1 (different modifiers) include/linux/uaccess.h:166:18: expected void * include/linux/uaccess.h:166:18: got void const *from In file included from include/asm-generic/io.h:767:0, from ./arch/c6x/include/generated/asm/io.h:1, from include/linux/io.h:25, from include/linux/irq.h:24, from include/asm-generic/hardirq.h:12, from arch/c6x/include/asm/hardirq.h:18, from include/linux/hardirq.h:8, from include/linux/highmem.h:9, from include/linux/pagemap.h:10, from include/linux/blkdev.h:15, from block/scsi_ioctl.c:23: >> include/linux/vmalloc.h:85:21: error: conflicting types for '__vmalloc_node_flags_caller' static inline void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags, void* caller) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h:84:14: note: previous declaration of '__vmalloc_node_flags_caller' was here extern void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmalloc.h: In function '__vmalloc_node_flags_caller': >> include/linux/vmalloc.h:87:9: error: implicit declaration of function '__vmalloc_node_flags' [-Werror=implicit-function-declaration] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~ >> include/linux/vmalloc.h:87:9: warning: return makes pointer from integer without a cast [-Wint-conversion] return __vmalloc_node_flags(size, node, flags); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors .. vim +/__vmalloc_node_flags_caller +85 include/linux/vmalloc.h 78 extern void *__vmalloc(unsigned long size, gfp_t gfp_mask, pgprot_t prot); 79 extern void *__vmalloc_node_range(unsigned long size, unsigned long align, 80 unsigned long start, unsigned long end, gfp_t gfp_mask, 81 pgprot_t prot, unsigned long vm_flags, int node, 82 const void *caller); 83 #ifndef CONFIG_MMU > 84 extern void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags); > 85 static inline void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags, void* caller) 86 { > 87 return __vmalloc_node_flags(size, node, flags); 88 } 89 #else 90 /* --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation