intel_iommu: fix type of the mask field in VTDIOTLBPageInvInfo
authorClément Mathieu--Drif <clement.mathieu--drif@eviden.com>
Tue, 9 Jul 2024 14:26:10 +0000 (14:26 +0000)
committerMichael S. Tsirkin <mst@redhat.com>
Sun, 21 Jul 2024 18:45:53 +0000 (14:45 -0400)
Per the below code, it can overflow as am can be larger than 8 according
to the CH 6.5.2.3 IOTLB Invalidate. Use uint64_t to avoid overflows.

Fixes: b5a280c00840 ("intel-iommu: add IOTLB using hash table")
Signed-off-by: Clément Mathieu--Drif <clement.mathieu--drif@eviden.com>
Reviewed-by: Minwoo Im <minwoo.im@samsung.com>
Reviewed-by: Yi Liu <yi.l.liu@intel.com>
Message-Id: <20240709142557.317271-4-clement.mathieu--drif@eviden.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/i386/intel_iommu_internal.h

index faea23e8d6a0a319c43c49a26160d08f272cc179..5f32c369434fd1d4b8865d082e79eb5e18ced06f 100644 (file)
@@ -436,7 +436,7 @@ struct VTDIOTLBPageInvInfo {
     uint16_t domain_id;
     uint32_t pasid;
     uint64_t addr;
-    uint8_t mask;
+    uint64_t mask;
 };
 typedef struct VTDIOTLBPageInvInfo VTDIOTLBPageInvInfo;