Hi Sergei, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.9-rc7] [cannot apply to block/for-next sparc-next/master next-20201002] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Sergei-Shtepa/Block-snapshot-module-and-block-layer-filter-API/20201002-210406 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 472e5b056f000a778abb41f1e443de58eb259783 config: sparc-allyesconfig (attached as .config) compiler: sparc64-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/61a37e3bb74afbef1b725eaf80405e0e6e5d64b7 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Sergei-Shtepa/Block-snapshot-module-and-block-layer-filter-API/20201002-210406 git checkout 61a37e3bb74afbef1b725eaf80405e0e6e5d64b7 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sparc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): drivers/block/blk-snap/snapstore_mem.c: In function 'snapstore_mem_destroy': >> drivers/block/blk-snap/snapstore_mem.c:48:4: error: implicit declaration of function 'vfree'; did you mean 'kvfree'? [-Werror=implicit-function-declaration] 48 | vfree(buffer_el->buff); | ^~~~~ | kvfree drivers/block/blk-snap/snapstore_mem.c: In function 'snapstore_mem_get_block': >> drivers/block/blk-snap/snapstore_mem.c:74:20: error: implicit declaration of function '__vmalloc'; did you mean '__kmalloc'? [-Werror=implicit-function-declaration] 74 | buffer_el->buff = __vmalloc(snapstore_block_size() * SECTOR_SIZE, GFP_NOIO); | ^~~~~~~~~ | __kmalloc >> drivers/block/blk-snap/snapstore_mem.c:74:18: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion] 74 | buffer_el->buff = __vmalloc(snapstore_block_size() * SECTOR_SIZE, GFP_NOIO); | ^ cc1: some warnings being treated as errors vim +48 drivers/block/blk-snap/snapstore_mem.c 28 29 void snapstore_mem_destroy(struct snapstore_mem *mem) 30 { 31 struct buffer_el *buffer_el; 32 33 if (mem == NULL) 34 return; 35 36 do { 37 buffer_el = NULL; 38 39 mutex_lock(&mem->blocks_lock); 40 if (!list_empty(&mem->blocks)) { 41 buffer_el = list_entry(mem->blocks.next, struct buffer_el, link); 42 43 list_del(&buffer_el->link); 44 } 45 mutex_unlock(&mem->blocks_lock); 46 47 if (buffer_el) { > 48 vfree(buffer_el->buff); 49 kfree(buffer_el); 50 } 51 } while (buffer_el); 52 53 blk_descr_mem_pool_done(&mem->pool); 54 55 kfree(mem); 56 } 57 58 void *snapstore_mem_get_block(struct snapstore_mem *mem) 59 { 60 struct buffer_el *buffer_el; 61 62 if (mem->blocks_allocated >= mem->blocks_limit) { 63 pr_err("Unable to get block from snapstore in memory\n"); 64 pr_err("Block limit is reached, allocated %ld, limit %ld\n", mem->blocks_allocated, 65 mem->blocks_limit); 66 return NULL; 67 } 68 69 buffer_el = kzalloc(sizeof(struct buffer_el), GFP_KERNEL); 70 if (buffer_el == NULL) 71 return NULL; 72 INIT_LIST_HEAD(&buffer_el->link); 73 > 74 buffer_el->buff = __vmalloc(snapstore_block_size() * SECTOR_SIZE, GFP_NOIO); --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org