The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=57775b3be6be253f3612f5b0a74dc9bf2b36d6d7
commit 57775b3be6be253f3612f5b0a74dc9bf2b36d6d7 Author: Andrew Turner <[email protected]> AuthorDate: 2026-07-28 14:04:50 +0000 Commit: Andrew Turner <[email protected]> CommitDate: 2026-08-26 11:31:36 +0000 arm64/smmu: Fix undefined behaviour in Q_OVF "1 << 31" is a signed int left shift 31 which is undefined as the shift is too large. Use an unsigned int to make the value defined. Sponsored by: Arm Ltd --- sys/arm64/iommu/smmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/iommu/smmu.c b/sys/arm64/iommu/smmu.c index 2d34b9177ed7..9a6f15e83def 100644 --- a/sys/arm64/iommu/smmu.c +++ b/sys/arm64/iommu/smmu.c @@ -142,7 +142,7 @@ #define Q_WRP(q, p) ((p) & (1 << (q)->size_log2)) #define Q_IDX(q, p) ((p) & ((1 << (q)->size_log2) - 1)) -#define Q_OVF(p) ((p) & (1 << 31)) /* Event queue overflowed */ +#define Q_OVF(p) ((p) & (1u << 31)) /* Event queue overflowed */ #define SMMU_Q_ALIGN (64 * 1024)
