git: a869643e184a - main - iommu_gas_match_one(): check for underflow

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Tue, 26 Dec 2023 01:28:48 UTC
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=a869643e184a73382ef7939b465fd42785e096d1

commit a869643e184a73382ef7939b465fd42785e096d1
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2023-12-26 00:57:00 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2023-12-26 01:28:22 +0000

    iommu_gas_match_one(): check for underflow
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
---
 sys/dev/iommu/iommu_gas.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/dev/iommu/iommu_gas.c b/sys/dev/iommu/iommu_gas.c
index 4e0bfb116116..cc541e748f48 100644
--- a/sys/dev/iommu/iommu_gas.c
+++ b/sys/dev/iommu/iommu_gas.c
@@ -329,6 +329,8 @@ iommu_gas_match_one(struct iommu_gas_match_args *a, iommu_gaddr_t beg,
 	start = roundup2(beg, a->common->alignment);
 	if (start < beg)
 		return (false);
+	if (end < IOMMU_PAGE_SIZE + 1)
+		return (false);
 	end = MIN(end - IOMMU_PAGE_SIZE - 1, ubound);
 	offset = a->offset;
 	size = a->size;