[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/iommu: vtd: Fix undefined behavior pci_vtd_quirks()
Hi, On 30/11/2020 02:50, Tian, Kevin wrote: From: Julien Grall <julien@xxxxxxx> Sent: Thursday, November 19, 2020 10:52 PM From: Julien Grall <jgrall@xxxxxxxxxx> When booting Xen with CONFIG_USBAN=y on Sandy Bridge, UBSAN will throw the following splat: (XEN) ================================================================ ================ (XEN) UBSAN: Undefined behaviour in quirks.c:449:63 (XEN) left shift of 1 by 31 places cannot be represented in type 'int' (XEN) ----[ Xen-4.11.4 x86_64 debug=y Not tainted ]---- [...] (XEN) Xen call trace: (XEN) [<ffff82d0802c0ccc>] ubsan.c#ubsan_epilogue+0xa/0xad (XEN) [<ffff82d0802c16c9>] __ubsan_handle_shift_out_of_bounds+0xb4/0x145 (XEN) [<ffff82d0802eeecd>] pci_vtd_quirk+0x3d3/0x74f (XEN) [<ffff82d0802e508b>] iommu.c#domain_context_mapping+0x45b/0x46f (XEN) [<ffff82d08053f39e>] iommu.c#setup_hwdom_device+0x22/0x3a (XEN) [<ffff82d08053dfbc>] pci.c#setup_one_hwdom_device+0x8c/0x124 (XEN) [<ffff82d08053e302>] pci.c#_setup_hwdom_pci_devices+0xbb/0x2f7 (XEN) [<ffff82d0802da5b7>] pci.c#pci_segments_iterate+0x4c/0x8c (XEN) [<ffff82d08053e8bd>] setup_hwdom_pci_devices+0x25/0x2c (XEN) [<ffff82d08053e916>] iommu.c#intel_iommu_hwdom_init+0x52/0x2f3 (XEN) [<ffff82d08053d6da>] iommu_hwdom_init+0x4e/0xa4 (XEN) [<ffff82d080577f32>] dom0_construct_pv+0x23c8/0x2476 (XEN) [<ffff82d08057cb50>] construct_dom0+0x6c/0xa3 (XEN) [<ffff82d080564822>] __start_xen+0x4651/0x4b55 (XEN) [<ffff82d0802000f3>] __high_start+0x53/0x55 Note that splat is from 4.11.4 and not staging. Although, the problem is still present. This can be solved by making the first operand unsigned int. Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx>Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx> Thanks! I have committed the patch. Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |