lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201703300600.3QLtFqiW%fengguang.wu@intel.com>
Date:   Thu, 30 Mar 2017 06:40:03 +0800
From:   kbuild test robot <fengguang.wu@...el.com>
To:     "Michael S. Tsirkin" <mst@...hat.com>
Cc:     kbuild-all@...org, kvm@...r.kernel.org,
        virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org
Subject: [vhost:linux-next 6/19]
 drivers/remoteproc/remoteproc_virtio.c:107:27: error: passing argument 8 of
 'vring_new_virtqueue' from incompatible pointer type

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
head:   8ab881d0e8136390da79aa0902fe03d2f6c65e32
commit: 281310d52c1d63630f54b1ac5cca6e9eb8715b3a [6/19] virtio: add context flag to find vqs
config: i386-randconfig-s0-201713 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        git checkout 281310d52c1d63630f54b1ac5cca6e9eb8715b3a
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/remoteproc/remoteproc_virtio.c: In function 'rp_find_vq':
>> drivers/remoteproc/remoteproc_virtio.c:107:27: error: passing argument 8 of 'vring_new_virtqueue' from incompatible pointer type [-Werror=incompatible-pointer-types]
         rproc_virtio_notify, callback, name);
                              ^~~~~~~~
   In file included from drivers/remoteproc/remoteproc_virtio.c:25:0:
   include/linux/virtio_ring.h:93:19: note: expected 'bool (*)(struct virtqueue *) {aka _Bool (*)(struct virtqueue *)}' but argument is of type 'void (*)(struct virtqueue *)'
    struct virtqueue *vring_new_virtqueue(unsigned int index,
                      ^~~~~~~~~~~~~~~~~~~
   drivers/remoteproc/remoteproc_virtio.c:107:37: error: passing argument 9 of 'vring_new_virtqueue' from incompatible pointer type [-Werror=incompatible-pointer-types]
         rproc_virtio_notify, callback, name);
                                        ^~~~
   In file included from drivers/remoteproc/remoteproc_virtio.c:25:0:
   include/linux/virtio_ring.h:93:19: note: expected 'void (*)(struct virtqueue *)' but argument is of type 'const char *'
    struct virtqueue *vring_new_virtqueue(unsigned int index,
                      ^~~~~~~~~~~~~~~~~~~
   drivers/remoteproc/remoteproc_virtio.c:106:7: error: too few arguments to function 'vring_new_virtqueue'
     vq = vring_new_virtqueue(id, len, rvring->align, vdev, false, addr,
          ^~~~~~~~~~~~~~~~~~~
   In file included from drivers/remoteproc/remoteproc_virtio.c:25:0:
   include/linux/virtio_ring.h:93:19: note: declared here
    struct virtqueue *vring_new_virtqueue(unsigned int index,
                      ^~~~~~~~~~~~~~~~~~~
   drivers/remoteproc/remoteproc_virtio.c: At top level:
>> drivers/remoteproc/remoteproc_virtio.c:264:14: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     .find_vqs = rproc_virtio_find_vqs,
                 ^~~~~~~~~~~~~~~~~~~~~
   drivers/remoteproc/remoteproc_virtio.c:264:14: note: (near initialization for 'rproc_virtio_config_ops.find_vqs')
   cc1: some warnings being treated as errors

vim +/vring_new_virtqueue +107 drivers/remoteproc/remoteproc_virtio.c

7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-02-13  100  		id, addr, len, rvring->notifyid);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  101  
dd6da1c5e drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2012-01-12  102  	/*
dd6da1c5e drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2012-01-12  103  	 * Create the new vq, and tell virtio we're not interested in
dd6da1c5e drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2012-01-12  104  	 * the 'weak' smp barriers, since we're talking with a real device.
dd6da1c5e drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2012-01-12  105  	 */
17bb6d408 drivers/remoteproc/remoteproc_virtio.c Jason Wang         2012-08-28 @106  	vq = vring_new_virtqueue(id, len, rvring->align, vdev, false, addr,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20 @107  				 rproc_virtio_notify, callback, name);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  108  	if (!vq) {
b5ab5e24e drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-05-30  109  		dev_err(dev, "vring_new_virtqueue %s failed\n", name);
6db20ea8d drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-05-17  110  		rproc_free_vring(rvring);
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-02-13  111  		return ERR_PTR(-ENOMEM);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  112  	}
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  113  
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-02-13  114  	rvring->vq = vq;
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-02-13  115  	vq->priv = rvring;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  116  
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  117  	return vq;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  118  }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  119  
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-11-12  120  static void __rproc_virtio_del_vqs(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  121  {
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  122  	struct virtqueue *vq, *n;
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-02-13  123  	struct rproc_vring *rvring;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  124  
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  125  	list_for_each_entry_safe(vq, n, &vdev->vqs, list) {
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-02-13  126  		rvring = vq->priv;
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-02-13  127  		rvring->vq = NULL;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  128  		vring_del_virtqueue(vq);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  129  	}
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  130  }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  131  
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-11-12  132  static void rproc_virtio_del_vqs(struct virtio_device *vdev)
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-11-12  133  {
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-11-12  134  	__rproc_virtio_del_vqs(vdev);
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-11-12  135  }
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-11-12  136  
f145928d4 drivers/remoteproc/remoteproc_virtio.c Anna, Suman        2016-08-12  137  static int rproc_virtio_find_vqs(struct virtio_device *vdev, unsigned int nvqs,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  138  				 struct virtqueue *vqs[],
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  139  				 vq_callback_t *callbacks[],
fb5e31d97 drivers/remoteproc/remoteproc_virtio.c Christoph Hellwig  2017-02-05  140  				 const char * const names[],
fb5e31d97 drivers/remoteproc/remoteproc_virtio.c Christoph Hellwig  2017-02-05  141  				 struct irq_affinity *desc)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  142  {
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  143  	int i, ret;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  144  
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  145  	for (i = 0; i < nvqs; ++i) {
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  146  		vqs[i] = rp_find_vq(vdev, i, callbacks[i], names[i]);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  147  		if (IS_ERR(vqs[i])) {
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  148  			ret = PTR_ERR(vqs[i]);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  149  			goto error;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  150  		}
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  151  	}
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  152  
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  153  	return 0;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  154  
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  155  error:
dab55bbaf drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-11-12  156  	__rproc_virtio_del_vqs(vdev);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  157  	return ret;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  158  }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  159  
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  160  static u8 rproc_virtio_get_status(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  161  {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  162  	struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  163  	struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  164  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  165  	rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  166  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  167  	return rsc->status;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  168  }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  169  
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  170  static void rproc_virtio_set_status(struct virtio_device *vdev, u8 status)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  171  {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  172  	struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  173  	struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  174  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  175  	rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  176  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  177  	rsc->status = status;
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-02-13  178  	dev_dbg(&vdev->dev, "status: %d\n", status);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  179  }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  180  
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  181  static void rproc_virtio_reset(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  182  {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  183  	struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  184  	struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  185  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  186  	rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  187  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  188  	rsc->status = 0;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  189  	dev_dbg(&vdev->dev, "reset !\n");
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  190  }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  191  
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  192  /* provide the vdev features as retrieved from the firmware */
d02547736 drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-10-07  193  static u64 rproc_virtio_get_features(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  194  {
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-02-13  195  	struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  196  	struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  197  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  198  	rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  199  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  200  	return rsc->dfeatures;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  201  }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  202  
5c609a5ef drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-12-04  203  static int rproc_virtio_finalize_features(struct virtio_device *vdev)
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  204  {
7a1869416 drivers/remoteproc/remoteproc_virtio.c Ohad Ben-Cohen     2012-02-13  205  	struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  206  	struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  207  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  208  	rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  209  
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  210  	/* Give virtio_ring a chance to accept features */
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  211  	vring_transport_features(vdev);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  212  
93d389f82 drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-11-27  213  	/* Make sure we don't have any features > 32 bits! */
93d389f82 drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-11-27  214  	BUG_ON((u32)vdev->features != vdev->features);
93d389f82 drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-11-27  215  
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  216  	/*
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  217  	 * Remember the finalized features of our vdev, and provide it
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  218  	 * to the remote processor once it is powered on.
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  219  	 */
e16e12be3 drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-10-07  220  	rsc->gfeatures = vdev->features;
5c609a5ef drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-12-04  221  
5c609a5ef drivers/remoteproc/remoteproc_virtio.c Michael S. Tsirkin 2014-12-04  222  	return 0;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  223  }
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  224  
f145928d4 drivers/remoteproc/remoteproc_virtio.c Anna, Suman        2016-08-12  225  static void rproc_virtio_get(struct virtio_device *vdev, unsigned int offset,
f145928d4 drivers/remoteproc/remoteproc_virtio.c Anna, Suman        2016-08-12  226  			     void *buf, unsigned int len)
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  227  {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  228  	struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  229  	struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  230  	void *cfg;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  231  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  232  	rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  233  	cfg = &rsc->vring[rsc->num_of_vrings];
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  234  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  235  	if (offset + len > rsc->config_len || offset + len < len) {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  236  		dev_err(&vdev->dev, "rproc_virtio_get: access out of bounds\n");
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  237  		return;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  238  	}
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  239  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  240  	memcpy(buf, cfg + offset, len);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  241  }
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  242  
f145928d4 drivers/remoteproc/remoteproc_virtio.c Anna, Suman        2016-08-12  243  static void rproc_virtio_set(struct virtio_device *vdev, unsigned int offset,
f145928d4 drivers/remoteproc/remoteproc_virtio.c Anna, Suman        2016-08-12  244  			     const void *buf, unsigned int len)
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  245  {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  246  	struct rproc_vdev *rvdev = vdev_to_rvdev(vdev);
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  247  	struct fw_rsc_vdev *rsc;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  248  	void *cfg;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  249  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  250  	rsc = (void *)rvdev->rproc->table_ptr + rvdev->rsc_offset;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  251  	cfg = &rsc->vring[rsc->num_of_vrings];
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  252  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  253  	if (offset + len > rsc->config_len || offset + len < len) {
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  254  		dev_err(&vdev->dev, "rproc_virtio_set: access out of bounds\n");
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  255  		return;
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  256  	}
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  257  
92b38f851 drivers/remoteproc/remoteproc_virtio.c Sjur Brændeland    2013-02-21  258  	memcpy(cfg + offset, buf, len);
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  259  }
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  260  
935039323 drivers/remoteproc/remoteproc_virtio.c Stephen Hemminger  2013-02-10  261  static const struct virtio_config_ops rproc_virtio_config_ops = {
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  262  	.get_features	= rproc_virtio_get_features,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  263  	.finalize_features = rproc_virtio_finalize_features,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20 @264  	.find_vqs	= rproc_virtio_find_vqs,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  265  	.del_vqs	= rproc_virtio_del_vqs,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  266  	.reset		= rproc_virtio_reset,
ac8954a41 drivers/remoteproc/remoteproc_rpmsg.c  Ohad Ben-Cohen     2011-10-20  267  	.set_status	= rproc_virtio_set_status,

:::::: The code at line 107 was first introduced by commit
:::::: ac8954a413930dae3c53f7e782f09a94e7eae88b remoteproc: create rpmsg virtio device

:::::: TO: Ohad Ben-Cohen <ohad@...ery.com>
:::::: CC: Ohad Ben-Cohen <ohad@...ery.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (31206 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ