Message ID | 20230802135723.178083-5-thuth@redhat.com |
---|---|
State | New |
Headers | show |
Series | Fix endianness issues in the intel-iommu device | expand |
On 2/8/23 15:57, Thomas Huth wrote: > The values in "addr" are populated locally in this function in host > endian byte order, so we must not swap the index_l field here. > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > hw/i386/intel_iommu.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 4028e32701..3ca71df369 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -3459,7 +3459,7 @@ static int vtd_interrupt_remap_msi(IntelIOMMUState *iommu, goto out; } - index = addr.addr.index_h << 15 | le16_to_cpu(addr.addr.index_l); + index = addr.addr.index_h << 15 | addr.addr.index_l; #define VTD_IR_MSI_DATA_SUBHANDLE (0x0000ffff) #define VTD_IR_MSI_DATA_RESERVED (0xffff0000)
The values in "addr" are populated locally in this function in host endian byte order, so we must not swap the index_l field here. Signed-off-by: Thomas Huth <thuth@redhat.com> --- hw/i386/intel_iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)