From: kernel test robot <lkp@intel.com>
To: Sherry Sun <sherry.sun@nxp.com>,
hch@infradead.org, sudeep.dutt@intel.com,
ashutosh.dixit@intel.com, arnd@arndb.de,
gregkh@linuxfoundation.org, kishon@ti.com,
lorenzo.pieralisi@arm.com
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
linux-pci@vger.kernel.org, linux-imx@nxp.com
Subject: Re: [PATCH V3 2/4] misc: vop: do not allocate and reassign the used ring
Date: Thu, 22 Oct 2020 16:53:12 +0800 [thread overview]
Message-ID: <202010221651.Z39Ez350-lkp@intel.com> (raw)
In-Reply-To: <20201022050638.29641-3-sherry.sun@nxp.com>
[-- Attachment #1: Type: text/plain, Size: 4976 bytes --]
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/6ae9d6d36b63c7bb8170f4c0409470d8e7101880
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 6ae9d6d36b63c7bb8170f4c0409470d8e7101880
# 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 <lkp@intel.com>
"sparse warnings: (new ones prefixed by >>)"
>> drivers/misc/mic/vop/vop_main.c:339:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *used @@ got void [noderef] __iomem * @@
>> drivers/misc/mic/vop/vop_main.c:339:14: sparse: expected void *used
>> drivers/misc/mic/vop/vop_main.c:339:14: sparse: got void [noderef] __iomem *
>> drivers/misc/mic/vop/vop_main.c:357:35: sparse: sparse: restricted __le64 degrades to integer
vim +339 drivers/misc/mic/vop/vop_main.c
289
290 /*
291 * This routine will assign vring's allocated in host/io memory. Code in
292 * virtio_ring.c however continues to access this io memory as if it were local
293 * memory without io accessors.
294 */
295 static struct virtqueue *vop_find_vq(struct virtio_device *dev,
296 unsigned index,
297 void (*callback)(struct virtqueue *vq),
298 const char *name, bool ctx)
299 {
300 struct _vop_vdev *vdev = to_vopvdev(dev);
301 struct vop_device *vpdev = vdev->vpdev;
302 struct mic_vqconfig __iomem *vqconfig;
303 struct mic_vqconfig config;
304 struct virtqueue *vq;
305 void __iomem *va;
306 struct _mic_vring_info __iomem *info;
307 void *used;
308 int vr_size, _vr_size, err, magic;
309 u8 type = ioread8(&vdev->desc->type);
310
311 if (index >= ioread8(&vdev->desc->num_vq))
312 return ERR_PTR(-ENOENT);
313
314 if (!name)
315 return ERR_PTR(-ENOENT);
316
317 /* First assign the vring's allocated in host memory */
318 vqconfig = _vop_vq_config(vdev->desc) + index;
319 memcpy_fromio(&config, vqconfig, sizeof(config));
320 _vr_size = round_up(vring_size(le16_to_cpu(config.num), MIC_VIRTIO_RING_ALIGN), 4);
321 vr_size = PAGE_ALIGN(_vr_size + sizeof(struct _mic_vring_info));
322 va = vpdev->hw_ops->remap(vpdev, le64_to_cpu(config.address), vr_size);
323 if (!va)
324 return ERR_PTR(-ENOMEM);
325 vdev->vr[index] = va;
326 memset_io(va, 0x0, _vr_size);
327
328 info = va + _vr_size;
329 magic = ioread32(&info->magic);
330
331 if (WARN(magic != MIC_MAGIC + type + index, "magic mismatch")) {
332 err = -EIO;
333 goto unmap;
334 }
335
336 vdev->used_size[index] = PAGE_ALIGN(sizeof(__u16) * 3 +
337 sizeof(struct vring_used_elem) *
338 le16_to_cpu(config.num));
> 339 used = va + PAGE_ALIGN(sizeof(struct vring_desc) * le16_to_cpu(config.num) +
340 sizeof(__u16) * (3 + le16_to_cpu(config.num)));
341 vdev->used_virt[index] = used;
342 if (!used) {
343 err = -ENOMEM;
344 dev_err(_vop_dev(vdev), "%s %d err %d\n",
345 __func__, __LINE__, err);
346 goto unmap;
347 }
348
349 vq = vop_new_virtqueue(index, le16_to_cpu(config.num), dev, ctx,
350 (void __force *)va, vop_notify, callback,
351 name, used);
352 if (!vq) {
353 err = -ENOMEM;
354 goto unmap;
355 }
356
> 357 vdev->used[index] = config.address + PAGE_ALIGN(sizeof(struct vring_desc) * le16_to_cpu(config.num) +
358 sizeof(__u16) * (3 + le16_to_cpu(config.num)));
359 writeq(vdev->used[index], &vqconfig->used_address);
360
361 vq->priv = vdev;
362 return vq;
363 unmap:
364 vpdev->hw_ops->unmap(vpdev, vdev->vr[index]);
365 return ERR_PTR(err);
366 }
367
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 36245 bytes --]
next prev parent reply other threads:[~2020-10-22 8:53 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-22 5:06 [PATCH V3 0/4] Change vring space from nomal memory to dma coherent memory Sherry Sun
2020-10-22 5:06 ` [PATCH V3 1/4] misc: vop: change the way of allocating vring and device page Sherry Sun
2020-10-22 7:58 ` kernel test robot
2020-10-23 9:25 ` Christoph Hellwig
2020-10-26 2:54 ` Sherry Sun
2020-10-22 5:06 ` [PATCH V3 2/4] misc: vop: do not allocate and reassign the used ring Sherry Sun
2020-10-22 8:53 ` kernel test robot [this message]
2020-10-23 9:26 ` Christoph Hellwig
2020-10-26 3:04 ` Sherry Sun
2020-10-27 6:28 ` gregkh
2020-10-27 7:05 ` Sherry Sun
2020-10-27 15:11 ` Vincent Whitchurch
2020-10-28 1:47 ` Sherry Sun
[not found] ` <93bd1c60ea4d910489a7592200856eaf8022ced0.camel@intel.com>
2020-10-28 6:29 ` Sherry Sun
[not found] ` <CAK8P3a1JRx32VfFcwFpK0i6F5MQMCK-yCKw8=d_R08Y3iQ7wLQ@mail.gmail.com>
2020-10-28 15:50 ` Arnd Bergmann
2020-10-29 2:42 ` Sherry Sun
2020-10-29 9:20 ` Arnd Bergmann
2020-10-29 10:07 ` Vincent Whitchurch
2020-10-29 10:34 ` gregkh
2020-10-29 11:53 ` Arnd Bergmann
2020-10-29 13:35 ` Dixit, Ashutosh
2020-10-29 13:54 ` Arnd Bergmann
2020-10-29 13:23 ` Dixit, Ashutosh
2020-10-28 9:14 ` Vincent Whitchurch
2020-10-22 5:06 ` [PATCH V3 3/4] misc: vop: simply return the saved dma address instead of virt_to_phys Sherry Sun
2020-10-22 5:06 ` [PATCH V3 4/4] misc: vop: mapping kernel memory to user space as noncached Sherry Sun
2020-10-23 9:28 ` Christoph Hellwig
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=202010221651.Z39Ez350-lkp@intel.com \
--to=lkp@intel.com \
--cc=arnd@arndb.de \
--cc=ashutosh.dixit@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=hch@infradead.org \
--cc=kbuild-all@lists.01.org \
--cc=kishon@ti.com \
--cc=linux-imx@nxp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=sherry.sun@nxp.com \
--cc=sudeep.dutt@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox