Hi Peter, On 6/24/19 8:37 AM, Peter Xu wrote: > From: Yan Zhao <yan.y.z...@intel.com> > > IOMMUNotifier is with inclusive ranges, so we should check > against (VTD_ADDRESS_SIZE(s->aw_bits) - 1). > > Signed-off-by: Yan Zhao <yan.y.z...@intel.com> > [peterx: split from another bigger patch] > Signed-off-by: Peter Xu <pet...@redhat.com> Reviewed-by: Eric Auger <eric.au...@redhat.com>
Thanks Eric > --- > hw/i386/intel_iommu.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c > index 44b1231157..719ce19ab3 100644 > --- a/hw/i386/intel_iommu.c > +++ b/hw/i386/intel_iommu.c > @@ -3379,12 +3379,12 @@ static void vtd_address_space_unmap(VTDAddressSpace > *as, IOMMUNotifier *n) > * VT-d spec), otherwise we need to consider overflow of 64 bits. > */ > > - if (end > VTD_ADDRESS_SIZE(s->aw_bits)) { > + if (end > VTD_ADDRESS_SIZE(s->aw_bits) - 1) { > /* > * Don't need to unmap regions that is bigger than the whole > * VT-d supported address space size > */ > - end = VTD_ADDRESS_SIZE(s->aw_bits); > + end = VTD_ADDRESS_SIZE(s->aw_bits) - 1; > } > > assert(start <= end); >