Hi Keith, kernel test robot noticed the following build warnings: [auto build test WARNING on axboe-block/for-next] [also build test WARNING on next-20241205] [cannot apply to brauner-vfs/vfs.all hch-configfs/for-next linus/master v6.13-rc1] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Keith-Busch/fs-add-a-write-stream-field-to-the-kiocb/20241206-095707 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next patch link: https://lore.kernel.org/r/20241206015308.3342386-11-kbusch%40meta.com patch subject: [PATCHv11 10/10] nvme: use fdp streams if write stream is provided config: i386-randconfig-061 (https://download.01.org/0day-ci/archive/20241206/202412062116.SzYvrv5L-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241206/202412062116.SzYvrv5L-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202412062116.SzYvrv5L-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) drivers/nvme/host/core.c: note: in included file (through drivers/nvme/host/nvme.h): include/linux/nvme.h:790:44: sparse: sparse: array of flexible structures >> drivers/nvme/host/core.c:2261:34: sparse: sparse: cast to restricted __le16 drivers/nvme/host/core.c: note: in included file (through include/linux/async.h): include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true vim +2261 drivers/nvme/host/core.c 2209 2210 static int nvme_query_fdp_info(struct nvme_ns *ns, struct nvme_ns_info *info) 2211 { 2212 struct nvme_fdp_ruh_status_desc *ruhsd; 2213 struct nvme_ns_head *head = ns->head; 2214 struct nvme_fdp_ruh_status *ruhs; 2215 struct nvme_command c = {}; 2216 u32 fdp, fdp_idx; 2217 int size, ret, i; 2218 2219 ret = nvme_get_features(ns->ctrl, NVME_FEAT_FDP, info->endgid, NULL, 0, 2220 &fdp); 2221 if (ret) 2222 goto err; 2223 2224 if (!(fdp & NVME_FDP_FDPE)) 2225 goto err; 2226 2227 fdp_idx = (fdp >> NVME_FDP_FDPCIDX_SHIFT) & NVME_FDP_FDPCIDX_MASK; 2228 ret = nvme_check_fdp(ns, info, fdp_idx); 2229 if (ret || !info->runs) 2230 goto err; 2231 2232 size = struct_size(ruhs, ruhsd, NVME_MAX_PLIDS); 2233 ruhs = kzalloc(size, GFP_KERNEL); 2234 if (!ruhs) { 2235 ret = -ENOMEM; 2236 goto err; 2237 } 2238 2239 c.imr.opcode = nvme_cmd_io_mgmt_recv; 2240 c.imr.nsid = cpu_to_le32(head->ns_id); 2241 c.imr.mo = NVME_IO_MGMT_RECV_MO_RUHS; 2242 c.imr.numd = cpu_to_le32(nvme_bytes_to_numd(size)); 2243 ret = nvme_submit_sync_cmd(ns->queue, &c, ruhs, size); 2244 if (ret) 2245 goto free; 2246 2247 head->nr_plids = le16_to_cpu(ruhs->nruhsd); 2248 if (!head->nr_plids) 2249 goto free; 2250 2251 head->nr_plids = min(head->nr_plids, NVME_MAX_PLIDS); 2252 head->plids = kcalloc(head->nr_plids, sizeof(head->plids), 2253 GFP_KERNEL); 2254 if (!head->plids) { 2255 ret = -ENOMEM; 2256 goto free; 2257 } 2258 2259 for (i = 0; i < head->nr_plids; i++) { 2260 ruhsd = &ruhs->ruhsd[i]; > 2261 head->plids[i] = le16_to_cpu(ruhsd->pid); 2262 } 2263 2264 kfree(ruhs); 2265 return 0; 2266 2267 free: 2268 kfree(ruhs); 2269 err: 2270 head->nr_plids = 0; 2271 info->runs = 0; 2272 return ret; 2273 } 2274 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki