On Wed, Apr 18, 2018 at 12:51:21PM +0800, Peter Xu wrote: > During IOVA page table walk, there is a special case when: > > - notify_unmap is set, meanwhile > - entry is invalid > > In the past, we skip the entry always. This is not correct. We should > send UNMAP notification to registered notifiers in this case. Otherwise > some stall pages will still be mapped in the host even if L1 guest > unmapped them already. > > Without this patch, nested device assignment to L2 guests might dump > some errors like: > > qemu-system-x86_64: VFIO_MAP_DMA: -17 > qemu-system-x86_64: vfio_dma_map(0x557305420c30, 0xad000, 0x1000, > 0x7f89a920d000) = -17 (File exists) > > To fix this, we need to apply this patch to L1 QEMU (L2 QEMU is not > affected by this problem). > > Signed-off-by: Peter Xu <pet...@redhat.com>
This should really be 2.12 material, it fixes a real bug, but not sure whether it's too late already. Michael, what do you think? Thanks, -- Peter Xu