:::::: :::::: Manual check reason: "low confidence bisect report" :::::: Manual check reason: "low confidence static check warning: drivers/nvme/target/passthru.c:40:12: warning: use of uninitialized value '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]" ::::::
BCC: [email protected] CC: [email protected] CC: [email protected] TO: Alan Adamson <[email protected]> CC: Christoph Hellwig <[email protected]> CC: Keith Busch <[email protected]> CC: Chaitanya Kulkarni <[email protected]> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 20cf903a0c407cef19300e5c85a03c82593bde36 commit: 34ad61514c4c3657df21a058f9961c3bb2f84ff2 nvmet: add a clear_ids attribute for passthru targets date: 5 weeks ago :::::: branch date: 4 hours ago :::::: commit date: 5 weeks ago config: arm-randconfig-c002-20220801 (https://download.01.org/0day-ci/archive/20220807/[email protected]/config) compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34ad61514c4c3657df21a058f9961c3bb2f84ff2 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 34ad61514c4c3657df21a058f9961c3bb2f84ff2 # save the config file COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross ARCH=arm KBUILD_USERCFLAGS='-fanalyzer -Wno-error' If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> gcc-analyzer warnings: (new ones prefixed by >>) drivers/nvme/target/passthru.c: In function 'nvmet_passthru_override_id_descs': >> drivers/nvme/target/passthru.c:40:12: warning: use of uninitialized value >> '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value] 40 | u8 csi; | ^~~ 'nvmet_passthru_override_id_descs': event 1 | | 40 | u8 csi; | | ^~~ | | | | | (1) use of uninitialized value '<unknown>' here | vim +40 drivers/nvme/target/passthru.c 77d651a65569a5 Adam Manzanares 2021-08-26 32 34ad61514c4c36 Alan Adamson 2022-06-27 33 static u16 nvmet_passthru_override_id_descs(struct nvmet_req *req) 34ad61514c4c36 Alan Adamson 2022-06-27 34 { 34ad61514c4c36 Alan Adamson 2022-06-27 35 struct nvmet_ctrl *ctrl = req->sq->ctrl; 34ad61514c4c36 Alan Adamson 2022-06-27 36 u16 status = NVME_SC_SUCCESS; 34ad61514c4c36 Alan Adamson 2022-06-27 37 int pos, len; 34ad61514c4c36 Alan Adamson 2022-06-27 38 bool csi_seen = false; 34ad61514c4c36 Alan Adamson 2022-06-27 39 void *data; 34ad61514c4c36 Alan Adamson 2022-06-27 @40 u8 csi; 34ad61514c4c36 Alan Adamson 2022-06-27 41 34ad61514c4c36 Alan Adamson 2022-06-27 42 if (!ctrl->subsys->clear_ids) 34ad61514c4c36 Alan Adamson 2022-06-27 43 return status; 34ad61514c4c36 Alan Adamson 2022-06-27 44 34ad61514c4c36 Alan Adamson 2022-06-27 45 data = kzalloc(NVME_IDENTIFY_DATA_SIZE, GFP_KERNEL); 34ad61514c4c36 Alan Adamson 2022-06-27 46 if (!data) 34ad61514c4c36 Alan Adamson 2022-06-27 47 return NVME_SC_INTERNAL; 34ad61514c4c36 Alan Adamson 2022-06-27 48 34ad61514c4c36 Alan Adamson 2022-06-27 49 status = nvmet_copy_from_sgl(req, 0, data, NVME_IDENTIFY_DATA_SIZE); 34ad61514c4c36 Alan Adamson 2022-06-27 50 if (status) 34ad61514c4c36 Alan Adamson 2022-06-27 51 goto out_free; 34ad61514c4c36 Alan Adamson 2022-06-27 52 34ad61514c4c36 Alan Adamson 2022-06-27 53 for (pos = 0; pos < NVME_IDENTIFY_DATA_SIZE; pos += len) { 34ad61514c4c36 Alan Adamson 2022-06-27 54 struct nvme_ns_id_desc *cur = data + pos; 34ad61514c4c36 Alan Adamson 2022-06-27 55 34ad61514c4c36 Alan Adamson 2022-06-27 56 if (cur->nidl == 0) 34ad61514c4c36 Alan Adamson 2022-06-27 57 break; 34ad61514c4c36 Alan Adamson 2022-06-27 58 if (cur->nidt == NVME_NIDT_CSI) { 34ad61514c4c36 Alan Adamson 2022-06-27 59 memcpy(&csi, cur + 1, NVME_NIDT_CSI_LEN); 34ad61514c4c36 Alan Adamson 2022-06-27 60 csi_seen = true; 34ad61514c4c36 Alan Adamson 2022-06-27 61 break; 34ad61514c4c36 Alan Adamson 2022-06-27 62 } 34ad61514c4c36 Alan Adamson 2022-06-27 63 len = sizeof(struct nvme_ns_id_desc) + cur->nidl; 34ad61514c4c36 Alan Adamson 2022-06-27 64 } 34ad61514c4c36 Alan Adamson 2022-06-27 65 34ad61514c4c36 Alan Adamson 2022-06-27 66 memset(data, 0, NVME_IDENTIFY_DATA_SIZE); 34ad61514c4c36 Alan Adamson 2022-06-27 67 if (csi_seen) { 34ad61514c4c36 Alan Adamson 2022-06-27 68 struct nvme_ns_id_desc *cur = data; 34ad61514c4c36 Alan Adamson 2022-06-27 69 34ad61514c4c36 Alan Adamson 2022-06-27 70 cur->nidt = NVME_NIDT_CSI; 34ad61514c4c36 Alan Adamson 2022-06-27 71 cur->nidl = NVME_NIDT_CSI_LEN; 34ad61514c4c36 Alan Adamson 2022-06-27 72 memcpy(cur + 1, &csi, NVME_NIDT_CSI_LEN); 34ad61514c4c36 Alan Adamson 2022-06-27 73 } 34ad61514c4c36 Alan Adamson 2022-06-27 74 status = nvmet_copy_to_sgl(req, 0, data, NVME_IDENTIFY_DATA_SIZE); 34ad61514c4c36 Alan Adamson 2022-06-27 75 out_free: 34ad61514c4c36 Alan Adamson 2022-06-27 76 kfree(data); 34ad61514c4c36 Alan Adamson 2022-06-27 77 return status; 34ad61514c4c36 Alan Adamson 2022-06-27 78 } 34ad61514c4c36 Alan Adamson 2022-06-27 79 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
