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 "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@lists.01.org