All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [rhvgoyal:notification-queue 5/8] fs/fuse/virtio_fs.c:827:17: sparse: sparse: no generic selection for 'unsigned int virtio_cread_v'
Date: Fri, 01 Oct 2021 06:57:55 +0800	[thread overview]
Message-ID: <202110010646.TegCIxQL-lkp@intel.com> (raw)

[-- 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 --]

                 reply	other threads:[~2021-09-30 22:57 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202110010646.TegCIxQL-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.