[intel-gvt-linux:topic/gvt-xengt 25/45] drivers/gpu/drm/i915/gvt/kvmgt.c:1057:45: sparse: warning: cast removes address space '<asn:1>' of expression

kbuild test robot lkp at intel.com
Fri Feb 22 23:03:40 UTC 2019


tree:   https://github.com/intel/gvt-linux topic/gvt-xengt
head:   51807e294b7edf551b6976005440312974581311
commit: 694614dee5496fbc9178f100fef7812ec3741162 [25/45] drm/i915/gvt: Add support to new VFIO subregion VFIO_REGION_SUBTYPE_DEVICE_STATE
reproduce:
        # apt-get install sparse
        git checkout 694614dee5496fbc9178f100fef7812ec3741162
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/i915/gvt/kvmgt.c:672:15: sparse: error: undefined identifier 'intel_vgpu_register_region'
   drivers/gpu/drm/i915/gvt/kvmgt.c:965:21: sparse: warning: incorrect type in assignment (different address spaces)
   drivers/gpu/drm/i915/gvt/kvmgt.c:965:21: sparse:    expected void *aperture_va
   drivers/gpu/drm/i915/gvt/kvmgt.c:965:21: sparse:    got void [noderef] <asn:2> *
   drivers/gpu/drm/i915/gvt/kvmgt.c:976:26: sparse: warning: incorrect type in argument 1 (different address spaces)
   drivers/gpu/drm/i915/gvt/kvmgt.c:976:26: sparse:    expected void [noderef] <asn:2> *vaddr
   drivers/gpu/drm/i915/gvt/kvmgt.c:976:26: sparse:    got void *aperture_va
>> drivers/gpu/drm/i915/gvt/kvmgt.c:1057:45: sparse: warning: cast removes address space '<asn:1>' of expression
   drivers/gpu/drm/i915/gvt/kvmgt.c:1135:45: sparse: warning: cast removes address space '<asn:1>' of expression

vim +1057 drivers/gpu/drm/i915/gvt/kvmgt.c

  1048	
  1049	static ssize_t intel_vgpu_read(struct mdev_device *mdev, char __user *buf,
  1050				size_t count, loff_t *ppos)
  1051	{
  1052		unsigned int done = 0;
  1053		int ret;
  1054		unsigned int index = VFIO_PCI_OFFSET_TO_INDEX(*ppos);
  1055	
  1056		if (index >= VFIO_PCI_NUM_REGIONS)
> 1057			return intel_vgpu_rw(mdev, (char *)buf, count, ppos, false);
  1058	
  1059		while (count) {
  1060			size_t filled;
  1061	
  1062			/* Only support GGTT entry 8 bytes read */
  1063			if (count >= 8 && !(*ppos % 8) &&
  1064				gtt_entry(mdev, ppos)) {
  1065				u64 val;
  1066	
  1067				ret = intel_vgpu_rw(mdev, (char *)&val, sizeof(val),
  1068						ppos, false);
  1069				if (ret <= 0)
  1070					goto read_err;
  1071	
  1072				if (copy_to_user(buf, &val, sizeof(val)))
  1073					goto read_err;
  1074	
  1075				filled = 8;
  1076			} else if (count >= 4 && !(*ppos % 4)) {
  1077				u32 val;
  1078	
  1079				ret = intel_vgpu_rw(mdev, (char *)&val, sizeof(val),
  1080						ppos, false);
  1081				if (ret <= 0)
  1082					goto read_err;
  1083	
  1084				if (copy_to_user(buf, &val, sizeof(val)))
  1085					goto read_err;
  1086	
  1087				filled = 4;
  1088			} else if (count >= 2 && !(*ppos % 2)) {
  1089				u16 val;
  1090	
  1091				ret = intel_vgpu_rw(mdev, (char *)&val, sizeof(val),
  1092						ppos, false);
  1093				if (ret <= 0)
  1094					goto read_err;
  1095	
  1096				if (copy_to_user(buf, &val, sizeof(val)))
  1097					goto read_err;
  1098	
  1099				filled = 2;
  1100			} else {
  1101				u8 val;
  1102	
  1103				ret = intel_vgpu_rw(mdev, &val, sizeof(val), ppos,
  1104						false);
  1105				if (ret <= 0)
  1106					goto read_err;
  1107	
  1108				if (copy_to_user(buf, &val, sizeof(val)))
  1109					goto read_err;
  1110	
  1111				filled = 1;
  1112			}
  1113	
  1114			count -= filled;
  1115			done += filled;
  1116			*ppos += filled;
  1117			buf += filled;
  1118		}
  1119	
  1120		return done;
  1121	
  1122	read_err:
  1123		return -EFAULT;
  1124	}
  1125	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 67392 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/intel-gvt-dev/attachments/20190223/4a617fca/attachment-0001.gz>


More information about the intel-gvt-dev mailing list