提交 ed967d43 编写于 作者: M Michael S. Tsirkin 提交者: Pengyuan Zhao

virtio_pci_modern: __force cast the notify mapping

stable inclusion
from stable-v5.13
commit 0f8a0b0b
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I5WXCZ
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0f8a0b0b095fd9b301523c0f78686f5ac6fda564
----------------------------------------------------------------------

When switching virtio_pci_modern to use a helper for mappings we lost an
__iomem tag. We should restore it.

However, virtio_pci_modern is playing tricks by hiding an iomem pointer
in a regular vq->priv pointer. Which is okay as long as it's
all contained within a single file, but we need to __force cast
the value otherwise we'll get sparse warnings.
Reported-by: Nkernel test robot <lkp@intel.com>
Fixes: 7dca6c0e ("virtio-pci library: switch to use vp_modern_map_vq_notify()")
Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: NPengyuan Zhao <zhaopengyuan@hisilicon.com>
上级 915fafe7
......@@ -224,7 +224,7 @@ static struct virtqueue *setup_vq(struct virtio_pci_device *vp_dev,
virtqueue_get_avail_addr(vq),
virtqueue_get_used_addr(vq));
vq->priv = vp_modern_map_vq_notify(mdev, index, NULL);
vq->priv = (void __force *)vp_modern_map_vq_notify(mdev, index, NULL);
if (!vq->priv) {
err = -ENOMEM;
goto err_map_notify;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册