diff options
author | Jason Gunthorpe <jgg@nvidia.com> | 2025-04-25 10:08:37 -0300 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2025-04-28 13:33:30 +0200 |
commit | e586e22974d2b7acbef3c6c3e01b2d5ce69efe33 (patch) | |
tree | 2eeb7c061345c43f1b8eb858157d57e4ecf6e1cd /scripts/lib/kdoc/kdoc_re.py | |
parent | da33e87bd2bfc63531cf7448a3cd7a3d42182f08 (diff) |
iommu: Protect against overflow in iommu_pgsize()
On a 32 bit system calling:
iommu_map(0, 0x40000000)
When using the AMD V1 page table type with a domain->pgsize of 0xfffff000
causes iommu_pgsize() to miscalculate a result of:
size=0x40000000 count=2
count should be 1. This completely corrupts the mapping process.
This is because the final test to adjust the pagesize malfunctions when
the addition overflows. Use check_add_overflow() to prevent this.
Fixes: b1d99dc5f983 ("iommu: Hook up '->unmap_pages' driver callback")
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Link: https://lore.kernel.org/r/0-v1-3ad28fc2e3a3+163327-iommu_overflow_pgsize_jgg@nvidia.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_re.py')
0 files changed, 0 insertions, 0 deletions