tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git 20210819-add-disk-error-handling-next head: 4a644c3aee4465306a79d393956c84ce8925fa6b commit: 21b0a62497fab52bffe4e6fc20be46e7f8d4bbb1 [49/90] um/drivers/ubd_kern: add error handling support for add_disk() config: um-x86_64_defconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/commit/?id=21b0a62497fab52bffe4e6fc20be46e7f8d4bbb1 git remote add mcgrof-next https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git git fetch --no-tags mcgrof-next 20210819-add-disk-error-handling-next git checkout 21b0a62497fab52bffe4e6fc20be46e7f8d4bbb1 # save the attached .config to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=um SUBARCH=x86_64 SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): arch/um/drivers/ubd_kern.c: In function 'ubd_add': >> arch/um/drivers/ubd_kern.c:930:24: error: expected ';' before 'out_cleanup_tags' 930 | blk_cleanup_disk(disk) | ^ | ; 931 | out_cleanup_tags: | ~~~~~~~~~~~~~~~~ >> arch/um/drivers/ubd_kern.c:915:3: error: label 'out_cleanup_tags' used but not defined 915 | goto out_cleanup_tags; | ^~~~ vim +930 arch/um/drivers/ubd_kern.c 883 884 static int ubd_add(int n, char **error_out) 885 { 886 struct ubd *ubd_dev = &ubd_devs[n]; 887 struct gendisk *disk; 888 int err = 0; 889 890 if(ubd_dev->file == NULL) 891 goto out; 892 893 err = ubd_file_size(ubd_dev, &ubd_dev->size); 894 if(err < 0){ 895 *error_out = "Couldn't determine size of device's file"; 896 goto out; 897 } 898 899 ubd_dev->size = ROUND_BLOCK(ubd_dev->size); 900 901 ubd_dev->tag_set.ops = &ubd_mq_ops; 902 ubd_dev->tag_set.queue_depth = 64; 903 ubd_dev->tag_set.numa_node = NUMA_NO_NODE; 904 ubd_dev->tag_set.flags = BLK_MQ_F_SHOULD_MERGE; 905 ubd_dev->tag_set.driver_data = ubd_dev; 906 ubd_dev->tag_set.nr_hw_queues = 1; 907 908 err = blk_mq_alloc_tag_set(&ubd_dev->tag_set); 909 if (err) 910 goto out; 911 912 disk = blk_mq_alloc_disk(&ubd_dev->tag_set, ubd_dev); 913 if (IS_ERR(disk)) { 914 err = PTR_ERR(disk); > 915 goto out_cleanup_tags; 916 } 917 ubd_dev->queue = disk->queue; 918 919 blk_queue_write_cache(ubd_dev->queue, true, false); 920 blk_queue_max_segments(ubd_dev->queue, MAX_SG); 921 blk_queue_segment_boundary(ubd_dev->queue, PAGE_SIZE - 1); 922 err = ubd_disk_register(UBD_MAJOR, ubd_dev->size, n, disk); 923 if (err) 924 goto out_cleanup_disk; 925 926 ubd_gendisk[n] = disk; 927 return 0; 928 929 out_cleanup_disk: > 930 blk_cleanup_disk(disk) 931 out_cleanup_tags: 932 blk_mq_free_tag_set(&ubd_dev->tag_set); 933 out: 934 return err; 935 } 936 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org