On Sat, Aug 22, 2020 at 05:02:09PM +0100, Chris Wilson wrote: > Beware that the address size for x86-32 may exceed unsigned long. > > [ 0.368971] UBSAN: shift-out-of-bounds in drivers/iommu/intel/iommu.c:128:14 > [ 0.369055] shift exponent 36 is too large for 32-bit type 'long unsigned int' > > If we don't handle the wide addresses, the pages are mismapped and the > device read/writes go astray, detected as DMAR faults and leading to > device failure. The behaviour changed (from working to broken) in commit > fa954e683178 ("iommu/vt-d: Delegate the dma domain to upper layer"), but > the error looks older. > > Fixes: fa954e683178 ("iommu/vt-d: Delegate the dma domain to upper layer") > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: James Sewart <jamessewart@xxxxxxxxxx> > Cc: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> > Cc: Joerg Roedel <jroedel@xxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> # v5.3+ > --- > drivers/iommu/intel/iommu.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) Applied for v5.9, thanks.