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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 11 Jan 2023 13:33:34 +0000
From:   Eli Cohen <elic@...dia.com>
To:     Jason Wang <jasowang@...hat.com>, "mst@...hat.com" <mst@...hat.com>
CC:     "gdawar@....com" <gdawar@....com>,
        "virtualization@...ts.linux-foundation.org" 
        <virtualization@...ts.linux-foundation.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "tanuj.kamde@....com" <tanuj.kamde@....com>
Subject: RE: [PATCH 0/5] virtio_ring: per virtqueue DMA device

> From: Jason Wang <jasowang@...hat.com>
> Sent: Wednesday, 11 January 2023 8:28
> To: mst@...hat.com; jasowang@...hat.com
> Cc: Eli Cohen <elic@...dia.com>; gdawar@....com;
> virtualization@...ts.linux-foundation.org; linux-kernel@...r.kernel.org;
> tanuj.kamde@....com
> Subject: [PATCH 0/5] virtio_ring: per virtqueue DMA device
> 
> Hi All:
> 
> In some cases, the virtqueue could be backed by different devices. One
> example is that in the case of vDPA some parent may emualte virtqueue
> via vringh. In this case, it would be wrong if we stick with the
> physical DMA device for software emulated device, since there's no
> easy way for vringh to know about the hardware IOMMU mappings.
> 
> So this series tries to introduce per virtqueue DMA device, then
> software virtqueues can utilize the transport specific method to
> assign appropirate DMA device.
> 
> This fixes the crash of mlx5_vdpa + virtio_vdpa when platform IOMMU is
> enabled but not in the passthrough mode. The reason for the crash is
> that the virito_ring tries to map the control virtqueue into platform
> IOMMU but the vringh assumes a direct mapping (PA as IOVA). This is
> fixed by advetise the vDPA device that doesnt do DMA (without a DMA
> ops). So DMA API can go with the direct mapping then the vringh will
> be happy since mlx5_vdpa assuems a direct/identical mapping by
> default.
> 

Could you provide instructions how to reproduce the crash you were seeing?

> Please review.
> 
> Thanks
> 
> Jason Wang (5):
>   virtio_ring: per virtqueue dma device
>   vdpa: introduce get_vq_dma_device()
>   virtio-vdpa: support per vq dma device
>   vdpa: set dma mask for vDPA device
>   vdpa: mlx5: support per virtqueue dma device
> 
>  drivers/vdpa/mlx5/net/mlx5_vnet.c |  11 +++
>  drivers/vdpa/vdpa.c               |   5 ++
>  drivers/virtio/virtio_ring.c      | 133 +++++++++++++++++++++---------
>  drivers/virtio/virtio_vdpa.c      |  13 ++-
>  include/linux/vdpa.h              |   6 ++
>  include/linux/virtio_ring.h       |  16 ++++
>  6 files changed, 141 insertions(+), 43 deletions(-)
> 
> --
> 2.25.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ