From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3435945825647183022==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [hch-block:gendisk-lookup 10/18] drivers/block/loop.c:2318:16: warning: variable 'range' set but not used Date: Mon, 11 Oct 2021 17:08:09 +0800 Message-ID: <202110111756.F0qBWSsf-lkp@intel.com> List-Id: --===============3435945825647183022== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: git://git.infradead.org/users/hch/block.git gendisk-lookup head: 2aa8840c446b029b28c2bb8ffff9cd0fc9e8ee79 commit: cec81ebfb622616f62b9d6c5633e05ad9de57f04 [10/18] loop: use __regist= er_blkdev to allocate devices on demand config: um-x86_64_defconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=3D1 build): git remote add hch-block git://git.infradead.org/users/hch/block.git git fetch --no-tags hch-block gendisk-lookup git checkout cec81ebfb622616f62b9d6c5633e05ad9de57f04 # save the attached .config to linux build tree make W=3D1 ARCH=3Dum SUBARCH=3Dx86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): cc1: warning: arch/um/include/uapi: No such file or directory [-Wmissing= -include-dirs] drivers/block/loop.c: In function 'loop_init': >> drivers/block/loop.c:2318:16: warning: variable 'range' set but not used= [-Wunused-but-set-variable] 2318 | unsigned long range; | ^~~~~ vim +/range +2318 drivers/block/loop.c 770fe30a46a12b Kay Sievers 2011-07-31 2314 = 73285082745045 Ken Chen 2007-05-08 2315 static int __init loop_i= nit(void) 73285082745045 Ken Chen 2007-05-08 2316 { a47653fc2643cf Ken Chen 2007-06-08 2317 int i, nr; a47653fc2643cf Ken Chen 2007-06-08 @2318 unsigned long range; 34dd82afd27da2 Kay Sievers 2011-07-31 2319 struct loop_device *lo; 770fe30a46a12b Kay Sievers 2011-07-31 2320 int err; a47653fc2643cf Ken Chen 2007-06-08 2321 = 476a4813cfddf7 Laurent Vivier 2008-03-26 2322 part_shift =3D 0; ac04fee0b5c55b Namhyung Kim 2011-05-27 2323 if (max_part > 0) { 476a4813cfddf7 Laurent Vivier 2008-03-26 2324 part_shift =3D fls(max= _part); 476a4813cfddf7 Laurent Vivier 2008-03-26 2325 = ac04fee0b5c55b Namhyung Kim 2011-05-27 2326 /* ac04fee0b5c55b Namhyung Kim 2011-05-27 2327 * Adjust max_part acc= ording to part_shift as it is exported ac04fee0b5c55b Namhyung Kim 2011-05-27 2328 * to user space so th= at user can decide correct minor number ac04fee0b5c55b Namhyung Kim 2011-05-27 2329 * if [s]he want to cr= eate more devices. ac04fee0b5c55b Namhyung Kim 2011-05-27 2330 * ac04fee0b5c55b Namhyung Kim 2011-05-27 2331 * Note that -1 is req= uired because partition 0 is reserved ac04fee0b5c55b Namhyung Kim 2011-05-27 2332 * for the whole disk. ac04fee0b5c55b Namhyung Kim 2011-05-27 2333 */ ac04fee0b5c55b Namhyung Kim 2011-05-27 2334 max_part =3D (1UL << p= art_shift) - 1; ac04fee0b5c55b Namhyung Kim 2011-05-27 2335 } ac04fee0b5c55b Namhyung Kim 2011-05-27 2336 = b1a6650406875b Guo Chao 2013-02-21 2337 if ((1UL << part_shift)= > DISK_MAX_PARTS) { b1a6650406875b Guo Chao 2013-02-21 2338 err =3D -EINVAL; a8c1d064d3e80a Anton Volkov 2017-08-07 2339 goto err_out; b1a6650406875b Guo Chao 2013-02-21 2340 } 78f4bb367fd147 Namhyung Kim 2011-05-24 2341 = b1a6650406875b Guo Chao 2013-02-21 2342 if (max_loop > 1UL << (= MINORBITS - part_shift)) { b1a6650406875b Guo Chao 2013-02-21 2343 err =3D -EINVAL; a8c1d064d3e80a Anton Volkov 2017-08-07 2344 goto err_out; b1a6650406875b Guo Chao 2013-02-21 2345 } 73285082745045 Ken Chen 2007-05-08 2346 = d134b00b9acca3 Kay Sievers 2011-07-31 2347 /* d134b00b9acca3 Kay Sievers 2011-07-31 2348 * If max_loop is speci= fied, create that many devices upfront. d134b00b9acca3 Kay Sievers 2011-07-31 2349 * This also becomes a = hard limit. If max_loop is not specified, d134b00b9acca3 Kay Sievers 2011-07-31 2350 * create CONFIG_BLK_DE= V_LOOP_MIN_COUNT loop devices at module d134b00b9acca3 Kay Sievers 2011-07-31 2351 * init time. Loop devi= ces can be requested on-demand with the d134b00b9acca3 Kay Sievers 2011-07-31 2352 * /dev/loop-control in= terface, or be instantiated by accessing d134b00b9acca3 Kay Sievers 2011-07-31 2353 * a 'dead' device node. d134b00b9acca3 Kay Sievers 2011-07-31 2354 */ 73285082745045 Ken Chen 2007-05-08 2355 if (max_loop) { a47653fc2643cf Ken Chen 2007-06-08 2356 nr =3D max_loop; a1c15c59feee36 Namhyung Kim 2011-05-24 2357 range =3D max_loop << = part_shift; a47653fc2643cf Ken Chen 2007-06-08 2358 } else { d134b00b9acca3 Kay Sievers 2011-07-31 2359 nr =3D CONFIG_BLK_DEV_= LOOP_MIN_COUNT; a1c15c59feee36 Namhyung Kim 2011-05-24 2360 range =3D 1UL << MINOR= BITS; a47653fc2643cf Ken Chen 2007-06-08 2361 } a47653fc2643cf Ken Chen 2007-06-08 2362 = a8c1d064d3e80a Anton Volkov 2017-08-07 2363 err =3D misc_register(&= loop_misc); a8c1d064d3e80a Anton Volkov 2017-08-07 2364 if (err < 0) a8c1d064d3e80a Anton Volkov 2017-08-07 2365 goto err_out; a8c1d064d3e80a Anton Volkov 2017-08-07 2366 = a8c1d064d3e80a Anton Volkov 2017-08-07 2367 = cec81ebfb62261 Christoph Hellwig 2020-08-23 2368 if (__register_blkdev(L= OOP_MAJOR, "loop", loop_probe)) { b1a6650406875b Guo Chao 2013-02-21 2369 err =3D -EIO; b1a6650406875b Guo Chao 2013-02-21 2370 goto misc_out; b1a6650406875b Guo Chao 2013-02-21 2371 } 73285082745045 Ken Chen 2007-05-08 2372 = d134b00b9acca3 Kay Sievers 2011-07-31 2373 /* pre-create number of= devices given by config or max_loop */ 0a42e99b58a208 Jan Kara 2018-11-08 2374 mutex_lock(&loop_ctl_mu= tex); 34dd82afd27da2 Kay Sievers 2011-07-31 2375 for (i =3D 0; i < nr; i= ++) 34dd82afd27da2 Kay Sievers 2011-07-31 2376 loop_add(&lo, i); 0a42e99b58a208 Jan Kara 2018-11-08 2377 mutex_unlock(&loop_ctl_= mutex); 34dd82afd27da2 Kay Sievers 2011-07-31 2378 = 73285082745045 Ken Chen 2007-05-08 2379 printk(KERN_INFO "loop:= module loaded\n"); ^1da177e4c3f41 Linus Torvalds 2005-04-16 2380 return 0; b1a6650406875b Guo Chao 2013-02-21 2381 = b1a6650406875b Guo Chao 2013-02-21 2382 misc_out: b1a6650406875b Guo Chao 2013-02-21 2383 misc_deregister(&loop_m= isc); a8c1d064d3e80a Anton Volkov 2017-08-07 2384 err_out: b1a6650406875b Guo Chao 2013-02-21 2385 return err; 34dd82afd27da2 Kay Sievers 2011-07-31 2386 } a47653fc2643cf Ken Chen 2007-06-08 2387 = :::::: The code@line 2318 was first introduced by commit :::::: a47653fc2643cf61bcabba8c9ff5c45517c089ba loop: preallocate eight loo= p devices :::::: TO: Ken Chen :::::: CC: Linus Torvalds --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============3435945825647183022== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============3435945825647183022==--