Re: [PATCH V3 1/4] misc: vop: change the way of allocating vring and device page

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Sherry,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on soc/for-next linus/master v5.9 next-20201022]
[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]

url:    https://github.com/0day-ci/linux/commits/Sherry-Sun/Change-vring-space-from-nomal-memory-to-dma-coherent-memory/20201022-131008
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git f3277cbfba763cd2826396521b9296de67cf1bbc
config: i386-randconfig-s002-20201022 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-dirty
        # https://github.com/0day-ci/linux/commit/6851e84ec2f16ab12b04b2a5bf61b05465d450e6
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Sherry-Sun/Change-vring-space-from-nomal-memory-to-dma-coherent-memory/20201022-131008
        git checkout 6851e84ec2f16ab12b04b2a5bf61b05465d450e6
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


"sparse warnings: (new ones prefixed by >>)"
>> drivers/misc/mic/vop/vop_vringh.c:1052:29: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned long @@     got restricted __le64 [usertype] address @@
>> drivers/misc/mic/vop/vop_vringh.c:1052:29: sparse:     expected unsigned long
>> drivers/misc/mic/vop/vop_vringh.c:1052:29: sparse:     got restricted __le64 [usertype] address

vim +1052 drivers/misc/mic/vop/vop_vringh.c

  1024	
  1025	static inline int
  1026	vop_query_offset(struct vop_vdev *vdev, unsigned long offset,
  1027			 unsigned long *size, unsigned long *pa)
  1028	{
  1029		struct vop_device *vpdev = vdev->vpdev;
  1030		struct mic_vqconfig *vqconfig = mic_vq_config(vdev->dd);
  1031		unsigned long start = MIC_DP_SIZE;
  1032		int i;
  1033	
  1034		/*
  1035		 * MMAP interface is as follows:
  1036		 * offset				region
  1037		 * 0x0					virtio device_page
  1038		 * 0x1000				first vring
  1039		 * 0x1000 + size of 1st vring		second vring
  1040		 * ....
  1041		 */
  1042		if (!offset) {
  1043			*pa = virt_to_phys(vpdev->hw_ops->get_dp(vpdev));
  1044			*size = MIC_DP_SIZE;
  1045			return 0;
  1046		}
  1047	
  1048		for (i = 0; i < vdev->dd->num_vq; i++) {
  1049			struct vop_vringh *vvr = &vdev->vvr[i];
  1050	
  1051			if (offset == start) {
> 1052				*pa = vqconfig[i].address;
  1053				*size = vvr->vring.len;
  1054				return 0;
  1055			}
  1056			start += vvr->vring.len;
  1057		}
  1058		return -1;
  1059	}
  1060	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux