On Fri, 22 Apr 2022, Oleksandr Tyshchenko wrote: > From: Oleksandr Tyshchenko <oleksandr_tyshche...@epam.com> > > As the main (and single at the moment) purpose of xen-grant > DMA devices is to enable using virtio devices in Xen guests > in a safe manner, assign xen-grant DMA ops only if restricted > access to the guest memory is enabled. > > Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshche...@epam.com>
Reviewed-by: Stefano Stabellini <sstabell...@kernel.org> > --- > Changes RFC -> V1: > - update commit subject/description > - remove #ifdef CONFIG_XEN_VIRTIO > - re-organize the check taking into the account that > swiotlb and virtio cases are mutually exclusive > - update according to the new naming scheme: > s/virtio/grant_dma > --- > include/xen/arm/xen-ops.h | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/include/xen/arm/xen-ops.h b/include/xen/arm/xen-ops.h > index 288deb1..26954e5 100644 > --- a/include/xen/arm/xen-ops.h > +++ b/include/xen/arm/xen-ops.h > @@ -2,12 +2,17 @@ > #ifndef _ASM_ARM_XEN_OPS_H > #define _ASM_ARM_XEN_OPS_H > > +#include <linux/virtio_config.h> > #include <xen/swiotlb-xen.h> > +#include <xen/xen-ops.h> > > static inline void xen_setup_dma_ops(struct device *dev) > { > #ifdef CONFIG_XEN > - if (xen_swiotlb_detect()) > + if (arch_has_restricted_virtio_memory_access() && > + xen_is_grant_dma_device(dev)) > + xen_grant_setup_dma_ops(dev); > + else if (xen_swiotlb_detect()) > dev->dma_ops = &xen_swiotlb_dma_ops; > #endif > } > -- > 2.7.4 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-ker...@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >