Re: powerpc/iommu: Avoid undefined right shift in iommu_range_alloc()

2017-08-16 Thread Michael Ellerman
On Tue, 2017-08-08 at 07:06:32 UTC, Michael Ellerman wrote: > In iommu_range_alloc() we generate a mask by right shifting ~0, > however if the specified alignment is 0 then we right shift by 64, > which is undefined. UBSAN tells us so: > > UBSAN: Undefined behaviour in ../arch/powerpc/kernel/iom

[PATCH] powerpc/iommu: Avoid undefined right shift in iommu_range_alloc()

2017-08-08 Thread Michael Ellerman
In iommu_range_alloc() we generate a mask by right shifting ~0, however if the specified alignment is 0 then we right shift by 64, which is undefined. UBSAN tells us so: UBSAN: Undefined behaviour in ../arch/powerpc/kernel/iommu.c:193:35 shift exponent 64 is too large for 64-bit type 'long uns