tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 7c2a69f610e64c8dec6a06a66e721f4ce1dd783a commit: 7431b7835f554f8608b415a02cf3c3f086309e02 dm: add clone target date: 11 months ago compiler: sparc-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> cppcheck warnings: (new ones prefixed by >>) >> fs/gfs2/xattr.c:884:9: warning: Identical condition 'error', second >> condition is always false [identicalConditionAfterEarlyExit] return error; ^ fs/gfs2/xattr.c:867:6: note: first condition if (error) ^ fs/gfs2/xattr.c:884:9: note: second condition return error; ^ fs/gfs2/xattr.c:1103:9: warning: Identical condition 'error', second condition is always false [identicalConditionAfterEarlyExit] return error; ^ fs/gfs2/xattr.c:1081:6: note: first condition if (error) ^ fs/gfs2/xattr.c:1103:9: note: second condition return error; ^ >> fs/gfs2/xattr.c:543:8: warning: Variable 'error' is reassigned a value >> before the old one has been used. [redundantAssignment] error = gfs2_ea_get_copy(ip, &el, data, len); ^ fs/gfs2/xattr.c:539:8: note: Variable 'error' is reassigned a value before the old one has been used. error = -ENOMEM; ^ fs/gfs2/xattr.c:543:8: note: Variable 'error' is reassigned a value before the old one has been used. error = gfs2_ea_get_copy(ip, &el, data, len); ^ >> fs/minix/namei.c:159:6: warning: Variable 'err' is reassigned a value before >> the old one has been used. [redundantAssignment] err = minix_delete_entry(de, page); ^ fs/minix/namei.c:150:0: note: Variable 'err' is reassigned a value before the old one has been used. int err = -ENOENT; ^ fs/minix/namei.c:159:6: note: Variable 'err' is reassigned a value before the old one has been used. err = minix_delete_entry(de, page); ^ fs/minix/namei.c:214:7: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment] err = -ENOTEMPTY; ^ fs/minix/namei.c:194:0: note: Variable 'err' is reassigned a value before the old one has been used. int err = -ENOENT; ^ fs/minix/namei.c:214:7: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOTEMPTY; ^ fs/minix/namei.c:214:7: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment] err = -ENOTEMPTY; ^ fs/minix/namei.c:204:7: note: Variable 'err' is reassigned a value before the old one has been used. err = -EIO; ^ fs/minix/namei.c:214:7: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOTEMPTY; ^ fs/minix/namei.c:218:7: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment] err = -ENOENT; ^ fs/minix/namei.c:214:7: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOTEMPTY; ^ fs/minix/namei.c:218:7: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOENT; ^ -- >> fs/jffs2/wbuf.c:934:9: warning: Uninitialized variable: ret [uninitvar] return ret; ^ fs/jffs2/wbuf.c:653:10: warning: Uninitialized variable: ret [uninitvar] return ret; ^ >> fs/minix/inode.c:286:6: warning: Variable 'ret' is reassigned a value before >> the old one has been used. [redundantAssignment] ret = -ENOMEM; ^ fs/minix/inode.c:162:0: note: Variable 'ret' is reassigned a value before the old one has been used. int ret = -EINVAL; ^ fs/minix/inode.c:286:6: note: Variable 'ret' is reassigned a value before the old one has been used. ret = -ENOMEM; ^ >> fs/minix/dir.c:99:34: warning: Variable 'offset' is reassigned a value >> before the old one has been used. [redundantAssignment] for ( ; n < npages; n++, offset = 0) { ^ fs/minix/dir.c:96:9: note: Variable 'offset' is reassigned a value before the old one has been used. offset = pos & ~PAGE_MASK; ^ fs/minix/dir.c:99:34: note: Variable 'offset' is reassigned a value before the old one has been used. for ( ; n < npages; n++, offset = 0) { ^ >> fs/gfs2/main.c:146:8: warning: Variable 'error' is reassigned a value before >> the old one has been used. [redundantAssignment] error = register_shrinker(&gfs2_qd_shrinker); ^ fs/gfs2/main.c:97:8: note: Variable 'error' is reassigned a value before the old one has been used. error = -ENOMEM; ^ fs/gfs2/main.c:146:8: note: Variable 'error' is reassigned a value before the old one has been used. error = register_shrinker(&gfs2_qd_shrinker); ^ -- >> fs/qnx6/dir.c:127:42: warning: Variable 'start' is reassigned a value before >> the old one has been used. [redundantAssignment] for ( ; !done && n < npages; n++, start = 0) { ^ fs/qnx6/dir.c:120:0: note: Variable 'start' is reassigned a value before the old one has been used. unsigned start = (pos & ~PAGE_MASK) / QNX6_DIR_ENTRY_SIZE; ^ fs/qnx6/dir.c:127:42: note: Variable 'start' is reassigned a value before the old one has been used. for ( ; !done && n < npages; n++, start = 0) { ^ -- >> fs/sysv/balloc.c:128:12: warning: Local variable count shadows outer >> variable [shadowVar] unsigned count; ^ fs/sysv/balloc.c:106:11: note: Shadowed declaration unsigned count; ^ fs/sysv/balloc.c:128:12: note: Shadow variable unsigned count; ^ -- >> fs/sysv/dir.c:80:34: warning: Variable 'offset' is reassigned a value before >> the old one has been used. [redundantAssignment] for ( ; n < npages; n++, offset = 0) { ^ fs/sysv/dir.c:77:9: note: Variable 'offset' is reassigned a value before the old one has been used. offset = pos & ~PAGE_MASK; ^ fs/sysv/dir.c:80:34: note: Variable 'offset' is reassigned a value before the old one has been used. for ( ; n < npages; n++, offset = 0) { ^ >> fs/sysv/namei.c:79:6: warning: Variable 'err' is reassigned a value before >> the old one has been used. [redundantAssignment] err = PTR_ERR(inode); ^ fs/sysv/namei.c:71:0: note: Variable 'err' is reassigned a value before the old one has been used. int err = -ENAMETOOLONG; ^ fs/sysv/namei.c:79:6: note: Variable 'err' is reassigned a value before the old one has been used. err = PTR_ERR(inode); ^ fs/sysv/namei.c:84:6: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment] err = page_symlink(inode, symname, l); ^ fs/sysv/namei.c:79:6: note: Variable 'err' is reassigned a value before the old one has been used. err = PTR_ERR(inode); ^ fs/sysv/namei.c:84:6: note: Variable 'err' is reassigned a value before the old one has been used. err = page_symlink(inode, symname, l); ^ fs/sysv/namei.c:127:6: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment] err = sysv_make_empty(inode, dir); ^ fs/sysv/namei.c:119:6: note: Variable 'err' is reassigned a value before the old one has been used. err = PTR_ERR(inode); ^ fs/sysv/namei.c:127:6: note: Variable 'err' is reassigned a value before the old one has been used. err = sysv_make_empty(inode, dir); ^ fs/sysv/namei.c:159:6: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment] err = sysv_delete_entry (de, page); ^ fs/sysv/namei.c:153:0: note: Variable 'err' is reassigned a value before the old one has been used. int err = -ENOENT; ^ fs/sysv/namei.c:159:6: note: Variable 'err' is reassigned a value before the old one has been used. err = sysv_delete_entry (de, page); ^ fs/sysv/namei.c:219:7: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment] err = -ENOTEMPTY; ^ fs/sysv/namei.c:199:0: note: Variable 'err' is reassigned a value before the old one has been used. int err = -ENOENT; ^ fs/sysv/namei.c:219:7: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOTEMPTY; ^ fs/sysv/namei.c:219:7: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment] err = -ENOTEMPTY; ^ fs/sysv/namei.c:209:7: note: Variable 'err' is reassigned a value before the old one has been used. err = -EIO; ^ fs/sysv/namei.c:219:7: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOTEMPTY; ^ fs/sysv/namei.c:223:7: warning: Variable 'err' is reassigned a value before the old one has been used. [redundantAssignment] err = -ENOENT; ^ fs/sysv/namei.c:219:7: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOTEMPTY; ^ fs/sysv/namei.c:223:7: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOENT; ^ -- >> drivers/md/dm-clone-metadata.c:781:4: warning: Variable 'r' is reassigned a >> value before the old one has been used. [redundantAssignment] r = __flush_dmap(cmd, dmap); ^ drivers/md/dm-clone-metadata.c:748:0: note: Variable 'r' is reassigned a value before the old one has been used. int r = -EPERM; ^ drivers/md/dm-clone-metadata.c:781:4: note: Variable 'r' is reassigned a value before the old one has been used. r = __flush_dmap(cmd, dmap); ^ drivers/md/dm-clone-metadata.c:863:4: warning: Variable 'r' is reassigned a value before the old one has been used. [redundantAssignment] r = __load_bitset_in_core(cmd); ^ drivers/md/dm-clone-metadata.c:856:0: note: Variable 'r' is reassigned a value before the old one has been used. int r = -EINVAL; ^ drivers/md/dm-clone-metadata.c:863:4: note: Variable 'r' is reassigned a value before the old one has been used. r = __load_bitset_in_core(cmd); ^ drivers/md/dm-clone-metadata.c:893:4: warning: Variable 'r' is reassigned a value before the old one has been used. [redundantAssignment] r = __create_persistent_data_structures(cmd, false); ^ drivers/md/dm-clone-metadata.c:884:0: note: Variable 'r' is reassigned a value before the old one has been used. int r = -EPERM; ^ drivers/md/dm-clone-metadata.c:893:4: note: Variable 'r' is reassigned a value before the old one has been used. r = __create_persistent_data_structures(cmd, false); ^ -- >> fs/sysv/super.c:506:17: warning: Variable 'sbi->s_bytesex' is reassigned a >> value before the old one has been used. [redundantAssignment] sbi->s_bytesex = BYTESEX_LE; ^ fs/sysv/super.c:501:17: note: Variable 'sbi->s_bytesex' is reassigned a value before the old one has been used. sbi->s_bytesex = BYTESEX_PDP; ^ fs/sysv/super.c:506:17: note: Variable 'sbi->s_bytesex' is reassigned a value before the old one has been used. sbi->s_bytesex = BYTESEX_LE; ^ -- >> drivers/md/dm-delay.c:85:18: warning: Local variable flush_bios shadows >> outer function [shadowFunction] struct bio_list flush_bios = { }; ^ drivers/md/dm-delay.c:68:13: note: Shadowed declaration static void flush_bios(struct bio *bio) ^ drivers/md/dm-delay.c:85:18: note: Shadow variable struct bio_list flush_bios = { }; ^ -- >> drivers/memstick/core/mspro_block.c:1446:5: warning: Variable 'rc' is >> reassigned a value before the old one has been used. [redundantAssignment] rc = register_blkdev(major, DRIVER_NAME); ^ drivers/memstick/core/mspro_block.c:1444:0: note: Variable 'rc' is reassigned a value before the old one has been used. int rc = -ENOMEM; ^ drivers/memstick/core/mspro_block.c:1446:5: note: Variable 'rc' is reassigned a value before the old one has been used. rc = register_blkdev(major, DRIVER_NAME); ^ >> drivers/nvme/target/fc.c:1729:19: warning: Variable 'fod->data_sg_cnt' is >> reassigned a value before the old one has been used. [redundantAssignment] fod->data_sg_cnt = fc_dma_map_sg(fod->tgtport->dev, sg, nent, ^ drivers/nvme/target/fc.c:1728:19: note: Variable 'fod->data_sg_cnt' is reassigned a value before the old one has been used. fod->data_sg_cnt = nent; ^ drivers/nvme/target/fc.c:1729:19: note: Variable 'fod->data_sg_cnt' is reassigned a value before the old one has been used. fod->data_sg_cnt = fc_dma_map_sg(fod->tgtport->dev, sg, nent, ^ >> drivers/nvme/target/fc.c:1077:2: warning: Address of local auto-variable >> assigned to a function parameter. [autoVariables] *portptr = &newrec->fc_target_port; ^ -- >> drivers/nvme/target/loop.c:595:6: warning: Variable 'ret' is reassigned a >> value before the old one has been used. [redundantAssignment] ret = nvme_loop_configure_admin_queue(ctrl); ^ drivers/nvme/target/loop.c:584:6: note: Variable 'ret' is reassigned a value before the old one has been used. ret = -ENOMEM; ^ drivers/nvme/target/loop.c:595:6: note: Variable 'ret' is reassigned a value before the old one has been used. ret = nvme_loop_configure_admin_queue(ctrl); ^ >> drivers/pci/syscall.c:47:6: warning: Variable 'err' is reassigned a value >> before the old one has been used. 'break;' missing? [redundantAssignInSwitch] err = -EIO; ^ drivers/pci/syscall.c:27:6: note: Variable 'err' is reassigned a value before the old one has been used. 'break;' missing? err = -ENODEV; ^ drivers/pci/syscall.c:47:6: note: Variable 'err' is reassigned a value before the old one has been used. 'break;' missing? err = -EIO; ^ >> drivers/nvme/target/fcloop.c:909:6: warning: Variable 'ret' is reassigned a >> value before the old one has been used. [redundantAssignment] ret = fcloop_parse_options(opts, buf); ^ drivers/nvme/target/fcloop.c:899:0: note: Variable 'ret' is reassigned a value before the old one has been used. int ret = -ENOMEM; ^ drivers/nvme/target/fcloop.c:909:6: note: Variable 'ret' is reassigned a value before the old one has been used. ret = fcloop_parse_options(opts, buf); ^ >> drivers/nvme/target/fcloop.c:1397:32: warning: Uninitialized variable: lport >> [uninitvar] ret = __wait_localport_unreg(lport); ^ >> drivers/nvme/target/fcloop.c:1380:28: warning: Uninitialized variable: nport >> [uninitvar] ret = __remoteport_unreg(nport, rport); ^ -- >> drivers/regulator/wm8994-regulator.c:124:33: warning: Either the condition >> '!pdata' is redundant or there is possible null pointer dereference: pdata. >> [nullPointerRedundantCheck] int id = pdev->id % ARRAY_SIZE(pdata->ldo); ^ drivers/regulator/wm8994-regulator.c:158:6: note: Assuming that condition '!pdata' is not redundant if (!pdata || !pdata->ldo[id].init_data || wm8994->dev->of_node) { ^ drivers/regulator/wm8994-regulator.c:124:33: note: Null pointer dereference int id = pdev->id % ARRAY_SIZE(pdata->ldo); ^ >> drivers/sbus/char/uctrl.c:370:6: warning: Variable 'err' is reassigned a >> value before the old one has been used. [redundantAssignment] err = request_irq(p->irq, uctrl_interrupt, 0, "uctrl", p); ^ drivers/sbus/char/uctrl.c:353:0: note: Variable 'err' is reassigned a value before the old one has been used. int err = -ENOMEM; ^ drivers/sbus/char/uctrl.c:370:6: note: Variable 'err' is reassigned a value before the old one has been used. err = request_irq(p->irq, uctrl_interrupt, 0, "uctrl", p); ^ -- >> drivers/scsi/pcmcia/nsp_cs.c:403:19: warning: Variable 'SCpnt->SCp.phase' is >> reassigned a value before the old one has been used. [redundantAssignment] SCpnt->SCp.phase = PH_SELSTART; ^ drivers/scsi/pcmcia/nsp_cs.c:383:19: note: Variable 'SCpnt->SCp.phase' is reassigned a value before the old one has been used. SCpnt->SCp.phase = PH_ARBSTART; ^ drivers/scsi/pcmcia/nsp_cs.c:403:19: note: Variable 'SCpnt->SCp.phase' is reassigned a value before the old one has been used. SCpnt->SCp.phase = PH_SELSTART; ^ >> drivers/scsi/pcmcia/nsp_message.c:46:7: warning: Variable 'ret' is >> reassigned a value before the old one has been used. [redundantAssignment] ret = nsp_expect_signal(SCpnt, BUSPHASE_MESSAGE_IN, BUSMON_REQ); ^ drivers/scsi/pcmcia/nsp_message.c:24:6: note: Variable 'ret' is reassigned a value before the old one has been used. ret = 16; ^ drivers/scsi/pcmcia/nsp_message.c:46:7: note: Variable 'ret' is reassigned a value before the old one has been used. ret = nsp_expect_signal(SCpnt, BUSPHASE_MESSAGE_IN, BUSMON_REQ); ^ >> drivers/scsi/qlogicfas408.c:130:26: warning: Variable 'j' is reassigned a >> value before the old one has been used. [redundantAssignment] while (reqlen && !((j = inb(qbase + 8)) & 0x10)) ^ drivers/scsi/qlogicfas408.c:129:6: note: Variable 'j' is reassigned a value before the old one has been used. j &= 0xc0; ^ drivers/scsi/qlogicfas408.c:130:26: note: Variable 'j' is reassigned a value before the old one has been used. while (reqlen && !((j = inb(qbase + 8)) & 0x10)) ^ >> drivers/scsi/qlogicfas408.c:339:4: warning: Variable 'k' is reassigned a >> value before the old one has been used. [redundantAssignment] k = jiffies + WATCHDOG; ^ drivers/scsi/qlogicfas408.c:332:5: note: Variable 'k' is reassigned a value before the old one has been used. k = inb(qbase + 5); /* should be 0x10, bus service */ ^ drivers/scsi/qlogicfas408.c:339:4: note: Variable 'k' is reassigned a value before the old one has been used. k = jiffies + WATCHDOG; ^ >> drivers/scsi/esp_scsi.c:1901:8: warning: Local variable i shadows outer >> variable [shadowVar] int i; ^ drivers/scsi/esp_scsi.c:1696:13: note: Shadowed declaration int write, i; ^ drivers/scsi/esp_scsi.c:1901:8: note: Shadow variable int i; ^ drivers/scsi/esp_scsi.c:1909:8: warning: Local variable i shadows outer variable [shadowVar] int i; ^ drivers/scsi/esp_scsi.c:1696:13: note: Shadowed declaration int write, i; ^ drivers/scsi/esp_scsi.c:1909:8: note: Shadow variable int i; ^ -- >> drivers/video/fbdev/bw2.c:331:6: warning: Variable 'err' is reassigned a >> value before the old one has been used. [redundantAssignment] err = register_framebuffer(info); ^ drivers/video/fbdev/bw2.c:285:6: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOMEM; ^ drivers/video/fbdev/bw2.c:331:6: note: Variable 'err' is reassigned a value before the old one has been used. err = register_framebuffer(info); ^ -- >> drivers/video/fbdev/cg14.c:549:6: warning: Variable 'err' is reassigned a >> value before the old one has been used. [redundantAssignment] err = register_framebuffer(info); ^ drivers/video/fbdev/cg14.c:474:6: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOMEM; ^ drivers/video/fbdev/cg14.c:549:6: note: Variable 'err' is reassigned a value before the old one has been used. err = register_framebuffer(info); ^ -- >> drivers/video/fbdev/tcx.c:465:6: warning: Variable 'err' is reassigned a >> value before the old one has been used. 'break;' missing? >> [redundantAssignInSwitch] err = register_framebuffer(info); ^ drivers/video/fbdev/tcx.c:375:6: note: Variable 'err' is reassigned a value before the old one has been used. 'break;' missing? err = -ENOMEM; ^ drivers/video/fbdev/tcx.c:465:6: note: Variable 'err' is reassigned a value before the old one has been used. 'break;' missing? err = register_framebuffer(info); ^ -- >> drivers/video/fbdev/leo.c:617:6: warning: Variable 'err' is reassigned a >> value before the old one has been used. [redundantAssignment] err = register_framebuffer(info); ^ drivers/video/fbdev/leo.c:560:6: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOMEM; ^ drivers/video/fbdev/leo.c:617:6: note: Variable 'err' is reassigned a value before the old one has been used. err = register_framebuffer(info); ^ -- >> drivers/scsi/sun_esp.c:475:6: warning: Variable 'err' is reassigned a value >> before the old one has been used. [redundantAssignment] err = esp_sbus_setup_dma(esp, espdma); ^ drivers/scsi/sun_esp.c:461:6: note: Variable 'err' is reassigned a value before the old one has been used. err = -ENOMEM; ^ drivers/scsi/sun_esp.c:475:6: note: Variable 'err' is reassigned a value before the old one has been used. err = esp_sbus_setup_dma(esp, espdma); ^ -- >> drivers/video/fbdev/grvga.c:400:9: warning: Variable 'retval' is reassigned >> a value before the old one has been used. [redundantAssignment] retval = fb_alloc_cmap(&info->cmap, 256, 0); ^ drivers/video/fbdev/grvga.c:330:0: note: Variable 'retval' is reassigned a value before the old one has been used. int retval = -ENOMEM; ^ drivers/video/fbdev/grvga.c:400:9: note: Variable 'retval' is reassigned a value before the old one has been used. retval = fb_alloc_cmap(&info->cmap, 256, 0); ^ vim +/r +781 drivers/md/dm-clone-metadata.c 745 746 int dm_clone_metadata_commit(struct dm_clone_metadata *cmd) 747 { 748 int r = -EPERM; 749 unsigned long flags; 750 struct dirty_map *dmap, *next_dmap; 751 752 down_write(&cmd->lock); 753 754 if (cmd->fail_io || dm_bm_is_read_only(cmd->bm)) 755 goto out; 756 757 /* Get current dirty bitmap */ 758 dmap = cmd->current_dmap; 759 760 /* Get next dirty bitmap */ 761 next_dmap = (dmap == &cmd->dmap[0]) ? &cmd->dmap[1] : &cmd->dmap[0]; 762 763 /* 764 * The last commit failed, so we don't have a clean dirty-bitmap to 765 * use. 766 */ 767 if (WARN_ON(next_dmap->changed)) { 768 r = -EINVAL; 769 goto out; 770 } 771 772 /* Swap dirty bitmaps */ 773 spin_lock_irqsave(&cmd->bitmap_lock, flags); 774 cmd->current_dmap = next_dmap; 775 spin_unlock_irqrestore(&cmd->bitmap_lock, flags); 776 777 /* 778 * No one is accessing the old dirty bitmap anymore, so we can flush 779 * it. 780 */ > 781 r = __flush_dmap(cmd, dmap); 782 out: 783 up_write(&cmd->lock); 784 785 return r; 786 } 787 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org