vfio/type1: fix dirty bitmap calculation in vfio_dma_rw
authorYan Zhao <yan.y.zhao@intel.com>
Wed, 16 Sep 2020 02:30:05 +0000 (10:30 +0800)
committerAlex Williamson <alex.williamson@redhat.com>
Tue, 22 Sep 2020 16:56:41 +0000 (10:56 -0600)
commit2c5af98592f65517170c7bcc714566590d3f7397
tree0b1855ea746a7931f2c17f2d3645d5039b89a5d9
parent28b130244061863cf0437b7af1625fb45ec1a71e
vfio/type1: fix dirty bitmap calculation in vfio_dma_rw

The count of dirtied pages is not only determined by count of copied
pages, but also by the start offset.

e.g. if offset = PAGE_SIZE - 1, and *copied=2, the dirty pages count
is 2, instead of 1 or 0.

Fixes: d6a4c185660c ("vfio iommu: Implementation of ioctl for dirty pages tracking")
Signed-off-by: Yan Zhao <yan.y.zhao@intel.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/vfio_iommu_type1.c