CC: [email protected] CC: [email protected] TO: Pankaj Bharadiya <[email protected]> CC: Zhenyu Wang <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: dea8dcf2a9fa8cc540136a6cd885c3beece16ec3 commit: 12d5861973c70fb9a890d81d051de1cb1886eeee drm/i915/gvt: Make WARN* drm specific where vgpu ptr is available date: 10 months ago :::::: branch date: 22 hours ago :::::: commit date: 10 months ago config: x86_64-randconfig-m031-20201229 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: drivers/gpu/drm/i915/gvt/kvmgt.c:214 gvt_pin_guest_page() error: 'vgpu' dereferencing possible ERR_PTR() Old smatch warnings: drivers/gpu/drm/i915/gvt/kvmgt.c:1381 intel_vgpu_ioctl() warn: potential spectre issue 'vgpu->cfg_space.bar' [r] drivers/gpu/drm/i915/gvt/kvmgt.c:1451 intel_vgpu_ioctl() warn: potential spectre issue 'vdev->region' [r] vim +/vgpu +214 drivers/gpu/drm/i915/gvt/kvmgt.c 79e542f5af79918 Changbin Du 2018-05-15 167 79e542f5af79918 Changbin Du 2018-05-15 168 /* Pin a normal or compound guest page for dma. */ 79e542f5af79918 Changbin Du 2018-05-15 169 static int gvt_pin_guest_page(struct intel_vgpu *vgpu, unsigned long gfn, 79e542f5af79918 Changbin Du 2018-05-15 170 unsigned long size, struct page **page) 79e542f5af79918 Changbin Du 2018-05-15 171 { 79e542f5af79918 Changbin Du 2018-05-15 172 unsigned long base_pfn = 0; 79e542f5af79918 Changbin Du 2018-05-15 173 int total_pages; 79e542f5af79918 Changbin Du 2018-05-15 174 int npage; cf4ee73fd9b6d31 Changbin Du 2018-03-01 175 int ret; b86dc6ed20f1543 Chuanxiao Dong 2017-02-09 176 79e542f5af79918 Changbin Du 2018-05-15 177 total_pages = roundup(size, PAGE_SIZE) / PAGE_SIZE; 79e542f5af79918 Changbin Du 2018-05-15 178 /* 79e542f5af79918 Changbin Du 2018-05-15 179 * We pin the pages one-by-one to avoid allocating a big arrary 79e542f5af79918 Changbin Du 2018-05-15 180 * on stack to hold pfns. 79e542f5af79918 Changbin Du 2018-05-15 181 */ 79e542f5af79918 Changbin Du 2018-05-15 182 for (npage = 0; npage < total_pages; npage++) { 79e542f5af79918 Changbin Du 2018-05-15 183 unsigned long cur_gfn = gfn + npage; 79e542f5af79918 Changbin Du 2018-05-15 184 unsigned long pfn; 79e542f5af79918 Changbin Du 2018-05-15 185 06d63c48dd30b96 Julian Stecklina 2020-02-17 186 ret = vfio_pin_pages(mdev_dev(kvmgt_vdev(vgpu)->mdev), &cur_gfn, 1, cf4ee73fd9b6d31 Changbin Du 2018-03-01 187 IOMMU_READ | IOMMU_WRITE, &pfn); cf4ee73fd9b6d31 Changbin Du 2018-03-01 188 if (ret != 1) { 79e542f5af79918 Changbin Du 2018-05-15 189 gvt_vgpu_err("vfio_pin_pages failed for gfn 0x%lx, ret %d\n", 79e542f5af79918 Changbin Du 2018-05-15 190 cur_gfn, ret); 79e542f5af79918 Changbin Du 2018-05-15 191 goto err; cf4ee73fd9b6d31 Changbin Du 2018-03-01 192 } b86dc6ed20f1543 Chuanxiao Dong 2017-02-09 193 79e542f5af79918 Changbin Du 2018-05-15 194 if (!pfn_valid(pfn)) { 79e542f5af79918 Changbin Du 2018-05-15 195 gvt_vgpu_err("pfn 0x%lx is not mem backed\n", pfn); 79e542f5af79918 Changbin Du 2018-05-15 196 npage++; 79e542f5af79918 Changbin Du 2018-05-15 197 ret = -EFAULT; 79e542f5af79918 Changbin Du 2018-05-15 198 goto err; cf4ee73fd9b6d31 Changbin Du 2018-03-01 199 } b86dc6ed20f1543 Chuanxiao Dong 2017-02-09 200 79e542f5af79918 Changbin Du 2018-05-15 201 if (npage == 0) 79e542f5af79918 Changbin Du 2018-05-15 202 base_pfn = pfn; 79e542f5af79918 Changbin Du 2018-05-15 203 else if (base_pfn + npage != pfn) { 79e542f5af79918 Changbin Du 2018-05-15 204 gvt_vgpu_err("The pages are not continuous\n"); 79e542f5af79918 Changbin Du 2018-05-15 205 ret = -EINVAL; 79e542f5af79918 Changbin Du 2018-05-15 206 npage++; 79e542f5af79918 Changbin Du 2018-05-15 207 goto err; 79e542f5af79918 Changbin Du 2018-05-15 208 } 79e542f5af79918 Changbin Du 2018-05-15 209 } 79e542f5af79918 Changbin Du 2018-05-15 210 79e542f5af79918 Changbin Du 2018-05-15 211 *page = pfn_to_page(base_pfn); b86dc6ed20f1543 Chuanxiao Dong 2017-02-09 212 return 0; 79e542f5af79918 Changbin Du 2018-05-15 213 err: 79e542f5af79918 Changbin Du 2018-05-15 @214 gvt_unpin_guest_page(vgpu, gfn, npage * PAGE_SIZE); 79e542f5af79918 Changbin Du 2018-05-15 215 return ret; cf4ee73fd9b6d31 Changbin Du 2018-03-01 216 } b86dc6ed20f1543 Chuanxiao Dong 2017-02-09 217 :::::: The code at line 214 was first introduced by commit :::::: 79e542f5af79918e5e766c441561fb9bff8af3aa drm/i915/kvmgt: Support setting dma map for huge pages :::::: TO: Changbin Du <[email protected]> :::::: CC: Zhenyu Wang <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
