Patch "vfio: add a singleton check for vfio_group_pin_pages" has been added to the 5.8-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    vfio: add a singleton check for vfio_group_pin_pages

to the 5.8-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     vfio-add-a-singleton-check-for-vfio_group_pin_pages.patch
and it can be found in the queue-5.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit f99ed7b06de29c38fc2e4e2aaf4939bc13900760
Author: Yan Zhao <yan.y.zhao@xxxxxxxxx>
Date:   Wed Sep 16 10:28:33 2020 +0800

    vfio: add a singleton check for vfio_group_pin_pages
    
    [ Upstream commit 7ef32e52368f62a4e041a4f0abefb4fb64e7fd4a ]
    
    Page pinning is used both to translate and pin device mappings for DMA
    purpose, as well as to indicate to the IOMMU backend to limit the dirty
    page scope to those pages that have been pinned, in the case of an IOMMU
    backed device.
    To support this, the vfio_pin_pages() interface limits itself to only
    singleton groups such that the IOMMU backend can consider dirty page
    scope only at the group level.  Implement the same requirement for the
    vfio_group_pin_pages() interface.
    
    Fixes: 95fc87b44104 ("vfio: Selective dirty page tracking if IOMMU backed device pins pages")
    Signed-off-by: Yan Zhao <yan.y.zhao@xxxxxxxxx>
    Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c
index 580099afeaffa..2a70e25cfe954 100644
--- a/drivers/vfio/vfio.c
+++ b/drivers/vfio/vfio.c
@@ -2050,6 +2050,9 @@ int vfio_group_pin_pages(struct vfio_group *group,
 	if (!group || !user_iova_pfn || !phys_pfn || !npage)
 		return -EINVAL;
 
+	if (group->dev_counter > 1)
+		return -EINVAL;
+
 	if (npage > VFIO_PIN_PAGES_MAX_ENTRIES)
 		return -E2BIG;
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux