All of lore.kernel.org
 help / color / mirror / Atom feed
* [rhvgoyal:notification-queue 5/8] fs/fuse/virtio_fs.c:827:17: sparse: sparse: no generic selection for 'unsigned int virtio_cread_v'
@ 2021-09-30 22:57 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-09-30 22:57 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 9847 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Vivek Goyal <vgoyal@redhat.com>
CC: Ioannis Angelakopoulos <iangelak@redhat.com>

tree:   https://github.com/rhvgoyal/linux notification-queue
head:   8a74e3a5793e164bac09552c801823eabdb841b1
commit: 78212035be092b3d3f56e3601b2350e86493dff8 [5/8] virtiofs: Add a virtqueue for notifications
:::::: branch date: 9 hours ago
:::::: commit date: 9 hours ago
config: i386-randconfig-s001-20210930 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.4-dirty
        # https://github.com/rhvgoyal/linux/commit/78212035be092b3d3f56e3601b2350e86493dff8
        git remote add rhvgoyal https://github.com/rhvgoyal/linux
        git fetch --no-tags rhvgoyal notification-queue
        git checkout 78212035be092b3d3f56e3601b2350e86493dff8
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash fs/fuse/

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


sparse warnings: (new ones prefixed by >>)
>> fs/fuse/virtio_fs.c:827:17: sparse: sparse: no generic selection for 'unsigned int virtio_cread_v'
>> fs/fuse/virtio_fs.c:827:17: sparse: sparse: incompatible types in comparison expression (different base types):
>> fs/fuse/virtio_fs.c:827:17: sparse:    bad type *
>> fs/fuse/virtio_fs.c:827:17: sparse:    unsigned int *
>> fs/fuse/virtio_fs.c:827:17: sparse: sparse: no generic selection for 'unsigned int [addressable] virtio_cread_v'

vim +827 fs/fuse/virtio_fs.c

b43b7e81eb2b18 Vivek Goyal        2020-08-19  809  
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  810  /* Initialize virtqueues */
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  811  static int virtio_fs_setup_vqs(struct virtio_device *vdev,
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  812  			       struct virtio_fs *fs)
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  813  {
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  814  	struct virtqueue **vqs;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  815  	vq_callback_t **callbacks;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  816  	const char **names;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  817  	unsigned int i;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  818  	int ret = 0;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  819  
2c0349ec1a8ee6 Michael S. Tsirkin 2020-08-05  820  	virtio_cread_le(vdev, struct virtio_fs_config, num_request_queues,
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  821  			&fs->num_request_queues);
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  822  	if (fs->num_request_queues == 0)
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  823  		return -EINVAL;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  824  
78212035be092b Vivek Goyal        2021-09-30  825  	if (virtio_has_feature(vdev, VIRTIO_FS_F_NOTIFICATION)) {
78212035be092b Vivek Goyal        2021-09-30  826  		fs->notify_enabled = true;
78212035be092b Vivek Goyal        2021-09-30 @827  		virtio_cread(vdev, struct virtio_fs_config, notify_buf_size,
78212035be092b Vivek Goyal        2021-09-30  828  			     &fs->notify_buf_size);
78212035be092b Vivek Goyal        2021-09-30  829  		if (fs->notify_buf_size <= sizeof(struct fuse_out_header)) {
78212035be092b Vivek Goyal        2021-09-30  830  			pr_err("virtio-fs: Invalid value %d of notification buffer size\n",
78212035be092b Vivek Goyal        2021-09-30  831  			       fs->notify_buf_size);
78212035be092b Vivek Goyal        2021-09-30  832  			return -EINVAL;
78212035be092b Vivek Goyal        2021-09-30  833  		}
78212035be092b Vivek Goyal        2021-09-30  834  		pr_info("virtio-fs: device supports notification. Notification_buf_size=%u\n",
78212035be092b Vivek Goyal        2021-09-30  835  			fs->notify_buf_size);
78212035be092b Vivek Goyal        2021-09-30  836  	}
78212035be092b Vivek Goyal        2021-09-30  837  
78212035be092b Vivek Goyal        2021-09-30  838  	if (fs->notify_enabled) {
78212035be092b Vivek Goyal        2021-09-30  839  		/* One additional queue for hiprio and one for notifications */
78212035be092b Vivek Goyal        2021-09-30  840  		fs->nvqs = 2 + fs->num_request_queues;
78212035be092b Vivek Goyal        2021-09-30  841  		fs->first_reqq_idx = VQ_NOTIFY_IDX + 1;
78212035be092b Vivek Goyal        2021-09-30  842  	} else {
db6f0eafcba856 Vivek Goyal        2021-09-30  843  		fs->nvqs = 1 + fs->num_request_queues;
db6f0eafcba856 Vivek Goyal        2021-09-30  844  		fs->first_reqq_idx = 1;
78212035be092b Vivek Goyal        2021-09-30  845  	}
78212035be092b Vivek Goyal        2021-09-30  846  
cde214bdd169d9 Vivek Goyal        2021-09-30  847  	fs->vqs = kcalloc(fs->nvqs, sizeof(fs->vqs[VQ_HIPRIO_IDX]), GFP_KERNEL);
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  848  	if (!fs->vqs)
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  849  		return -ENOMEM;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  850  
cde214bdd169d9 Vivek Goyal        2021-09-30  851  	vqs = kmalloc_array(fs->nvqs, sizeof(vqs[VQ_HIPRIO_IDX]), GFP_KERNEL);
cde214bdd169d9 Vivek Goyal        2021-09-30  852  	callbacks = kmalloc_array(fs->nvqs, sizeof(callbacks[VQ_HIPRIO_IDX]),
cde214bdd169d9 Vivek Goyal        2021-09-30  853  					GFP_KERNEL);
cde214bdd169d9 Vivek Goyal        2021-09-30  854  	names = kmalloc_array(fs->nvqs, sizeof(names[VQ_HIPRIO_IDX]),
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  855  			      GFP_KERNEL);
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  856  	if (!vqs || !callbacks || !names) {
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  857  		ret = -ENOMEM;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  858  		goto out;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  859  	}
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  860  
b43b7e81eb2b18 Vivek Goyal        2020-08-19  861  	/* Initialize the hiprio/forget request virtqueue */
cde214bdd169d9 Vivek Goyal        2021-09-30  862  	callbacks[VQ_HIPRIO_IDX] = virtio_fs_vq_done;
78212035be092b Vivek Goyal        2021-09-30  863  	ret = virtio_fs_init_vq(fs, &fs->vqs[VQ_HIPRIO_IDX], "hiprio",
78212035be092b Vivek Goyal        2021-09-30  864  				VQ_TYPE_HIPRIO);
78212035be092b Vivek Goyal        2021-09-30  865  	if (ret < 0)
78212035be092b Vivek Goyal        2021-09-30  866  		goto out;
cde214bdd169d9 Vivek Goyal        2021-09-30  867  	names[VQ_HIPRIO_IDX] = fs->vqs[VQ_HIPRIO_IDX].name;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  868  
78212035be092b Vivek Goyal        2021-09-30  869  	/* Initialize notification queue */
78212035be092b Vivek Goyal        2021-09-30  870  	if (fs->notify_enabled) {
78212035be092b Vivek Goyal        2021-09-30  871  		callbacks[VQ_NOTIFY_IDX] = virtio_fs_vq_done;
78212035be092b Vivek Goyal        2021-09-30  872  		ret = virtio_fs_init_vq(fs, &fs->vqs[VQ_NOTIFY_IDX],
78212035be092b Vivek Goyal        2021-09-30  873  					"notification", VQ_TYPE_NOTIFY);
78212035be092b Vivek Goyal        2021-09-30  874  		if (ret < 0)
78212035be092b Vivek Goyal        2021-09-30  875  			goto out;
78212035be092b Vivek Goyal        2021-09-30  876  		names[VQ_NOTIFY_IDX] = fs->vqs[VQ_NOTIFY_IDX].name;
78212035be092b Vivek Goyal        2021-09-30  877  	}
78212035be092b Vivek Goyal        2021-09-30  878  
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  879  	/* Initialize the requests virtqueues */
db6f0eafcba856 Vivek Goyal        2021-09-30  880  	for (i = fs->first_reqq_idx; i < fs->nvqs; i++) {
b43b7e81eb2b18 Vivek Goyal        2020-08-19  881  		char vq_name[VQ_NAME_LEN];
b43b7e81eb2b18 Vivek Goyal        2020-08-19  882  
db6f0eafcba856 Vivek Goyal        2021-09-30  883  		snprintf(vq_name, VQ_NAME_LEN, "requests.%u",
db6f0eafcba856 Vivek Goyal        2021-09-30  884  			 i - fs->first_reqq_idx);
78212035be092b Vivek Goyal        2021-09-30  885  		ret = virtio_fs_init_vq(fs, &fs->vqs[i], vq_name,
78212035be092b Vivek Goyal        2021-09-30  886  					VQ_TYPE_REQUEST);
78212035be092b Vivek Goyal        2021-09-30  887  		if (ret < 0)
78212035be092b Vivek Goyal        2021-09-30  888  			goto out;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  889  		callbacks[i] = virtio_fs_vq_done;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  890  		names[i] = fs->vqs[i].name;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  891  	}
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  892  
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  893  	ret = virtio_find_vqs(vdev, fs->nvqs, vqs, callbacks, names, NULL);
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  894  	if (ret < 0)
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  895  		goto out;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  896  
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  897  	for (i = 0; i < fs->nvqs; i++)
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  898  		fs->vqs[i].vq = vqs[i];
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  899  out:
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  900  	kfree(names);
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  901  	kfree(callbacks);
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  902  	kfree(vqs);
78212035be092b Vivek Goyal        2021-09-30  903  	if (ret) {
78212035be092b Vivek Goyal        2021-09-30  904  		virtio_fs_free_notify_nodes(fs);
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  905  		kfree(fs->vqs);
78212035be092b Vivek Goyal        2021-09-30  906  	}
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  907  	return ret;
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  908  }
a62a8ef9d97da2 Stefan Hajnoczi    2018-06-12  909  

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 34002 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-09-30 22:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-09-30 22:57 [rhvgoyal:notification-queue 5/8] fs/fuse/virtio_fs.c:827:17: sparse: sparse: no generic selection for 'unsigned int virtio_cread_v' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.