mirror of https://gitee.com/openkylin/linux.git
Merge branch 'v5.8/vfio/kirti-migration-fixes' into v5.8/vfio/next
This commit is contained in:
commit
4f085ca2f5
|
@ -227,11 +227,12 @@ static void vfio_dma_bitmap_free(struct vfio_dma *dma)
|
|||
static void vfio_dma_populate_bitmap(struct vfio_dma *dma, size_t pgsize)
|
||||
{
|
||||
struct rb_node *p;
|
||||
unsigned long pgshift = __ffs(pgsize);
|
||||
|
||||
for (p = rb_first(&dma->pfn_list); p; p = rb_next(p)) {
|
||||
struct vfio_pfn *vpfn = rb_entry(p, struct vfio_pfn, node);
|
||||
|
||||
bitmap_set(dma->bitmap, (vpfn->iova - dma->iova) / pgsize, 1);
|
||||
bitmap_set(dma->bitmap, (vpfn->iova - dma->iova) >> pgshift, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -997,14 +998,14 @@ static int update_user_bitmap(u64 __user *bitmap, struct vfio_iommu *iommu,
|
|||
nbits + shift);
|
||||
|
||||
if (copy_from_user(&leftover,
|
||||
(const void *)(bitmap + copy_offset),
|
||||
(void __user *)(bitmap + copy_offset),
|
||||
sizeof(leftover)))
|
||||
return -EFAULT;
|
||||
|
||||
bitmap_or(dma->bitmap, dma->bitmap, &leftover, shift);
|
||||
}
|
||||
|
||||
if (copy_to_user((void *)(bitmap + copy_offset), dma->bitmap,
|
||||
if (copy_to_user((void __user *)(bitmap + copy_offset), dma->bitmap,
|
||||
DIRTY_BITMAP_BYTES(nbits + shift)))
|
||||
return -EFAULT;
|
||||
|
||||
|
|
Loading…
Reference in New Issue