mirror of https://github.com/xemu-project/xemu.git
vfio/common: Fix wrong %m usages
There are several places where the %m conversion is used if one of vfio_dma_map(), vfio_dma_unmap() or vfio_get_dirty_bitmap() fail. The %m usage in these places is wrong since %m relies on errno value while the above functions don't report errors via errno. Fix it by using strerror() with the returned value instead. Signed-off-by: Avihai Horon <avihaih@nvidia.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/r/20230307125450.62409-3-joao.m.martins@oracle.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
3e2413a652
commit
db9b829b15
|
@ -703,17 +703,17 @@ static void vfio_iommu_map_notify(IOMMUNotifier *n, IOMMUTLBEntry *iotlb)
|
|||
read_only);
|
||||
if (ret) {
|
||||
error_report("vfio_dma_map(%p, 0x%"HWADDR_PRIx", "
|
||||
"0x%"HWADDR_PRIx", %p) = %d (%m)",
|
||||
"0x%"HWADDR_PRIx", %p) = %d (%s)",
|
||||
container, iova,
|
||||
iotlb->addr_mask + 1, vaddr, ret);
|
||||
iotlb->addr_mask + 1, vaddr, ret, strerror(-ret));
|
||||
}
|
||||
} else {
|
||||
ret = vfio_dma_unmap(container, iova, iotlb->addr_mask + 1, iotlb);
|
||||
if (ret) {
|
||||
error_report("vfio_dma_unmap(%p, 0x%"HWADDR_PRIx", "
|
||||
"0x%"HWADDR_PRIx") = %d (%m)",
|
||||
"0x%"HWADDR_PRIx") = %d (%s)",
|
||||
container, iova,
|
||||
iotlb->addr_mask + 1, ret);
|
||||
iotlb->addr_mask + 1, ret, strerror(-ret));
|
||||
}
|
||||
}
|
||||
out:
|
||||
|
@ -1095,8 +1095,9 @@ static void vfio_listener_region_add(MemoryListener *listener,
|
|||
vaddr, section->readonly);
|
||||
if (ret) {
|
||||
error_setg(&err, "vfio_dma_map(%p, 0x%"HWADDR_PRIx", "
|
||||
"0x%"HWADDR_PRIx", %p) = %d (%m)",
|
||||
container, iova, int128_get64(llsize), vaddr, ret);
|
||||
"0x%"HWADDR_PRIx", %p) = %d (%s)",
|
||||
container, iova, int128_get64(llsize), vaddr, ret,
|
||||
strerror(-ret));
|
||||
if (memory_region_is_ram_device(section->mr)) {
|
||||
/* Allow unexpected mappings not to be fatal for RAM devices */
|
||||
error_report_err(err);
|
||||
|
@ -1228,16 +1229,18 @@ static void vfio_listener_region_del(MemoryListener *listener,
|
|||
ret = vfio_dma_unmap(container, iova, int128_get64(llsize), NULL);
|
||||
if (ret) {
|
||||
error_report("vfio_dma_unmap(%p, 0x%"HWADDR_PRIx", "
|
||||
"0x%"HWADDR_PRIx") = %d (%m)",
|
||||
container, iova, int128_get64(llsize), ret);
|
||||
"0x%"HWADDR_PRIx") = %d (%s)",
|
||||
container, iova, int128_get64(llsize), ret,
|
||||
strerror(-ret));
|
||||
}
|
||||
iova += int128_get64(llsize);
|
||||
}
|
||||
ret = vfio_dma_unmap(container, iova, int128_get64(llsize), NULL);
|
||||
if (ret) {
|
||||
error_report("vfio_dma_unmap(%p, 0x%"HWADDR_PRIx", "
|
||||
"0x%"HWADDR_PRIx") = %d (%m)",
|
||||
container, iova, int128_get64(llsize), ret);
|
||||
"0x%"HWADDR_PRIx") = %d (%s)",
|
||||
container, iova, int128_get64(llsize), ret,
|
||||
strerror(-ret));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1384,9 +1387,9 @@ static void vfio_iommu_map_dirty_notify(IOMMUNotifier *n, IOMMUTLBEntry *iotlb)
|
|||
translated_addr);
|
||||
if (ret) {
|
||||
error_report("vfio_iommu_map_dirty_notify(%p, 0x%"HWADDR_PRIx", "
|
||||
"0x%"HWADDR_PRIx") = %d (%m)",
|
||||
container, iova,
|
||||
iotlb->addr_mask + 1, ret);
|
||||
"0x%"HWADDR_PRIx") = %d (%s)",
|
||||
container, iova, iotlb->addr_mask + 1, ret,
|
||||
strerror(-ret));
|
||||
}
|
||||
}
|
||||
rcu_read_unlock();
|
||||
|
|
Loading…
Reference in New Issue