Il 06/06/2013 04:36, Alexey Kardashevskiy ha scritto: >> > diff --git a/hw/misc/vfio.c b/hw/misc/vfio.c >> > index 693a9ff..c89676b 100644 >> > --- a/hw/misc/vfio.c >> > +++ b/hw/misc/vfio.c >> > @@ -1953,7 +1953,7 @@ static void vfio_listener_region_add(MemoryListener >> > *listener, >> > } >> > >> > iova = TARGET_PAGE_ALIGN(section->offset_within_address_space); >> > - end = (section->offset_within_address_space + section->size) & >> > + end = (section->offset_within_address_space + >> > int128_get64(section->size)) & >> > TARGET_PAGE_MASK; > > > Another problem with this patch. Here is some more context (***):
By the time you get here, this should have already crashed at this code that patch 13 adds: diff --git a/hw/misc/vfio.c b/hw/misc/vfio.c index c89676b..52fb036 100644 --- a/hw/misc/vfio.c +++ b/hw/misc/vfio.c @@ -1939,6 +1939,8 @@ static void vfio_listener_region_add(MemoryListener *listener, void *vaddr; int ret; + assert(!memory_region_is_iommu(section->mr)); + so it seems like a bug in your VFIO patches. Paolo