In the Linux kernel, the following vulnerability has been resolved: iommufd: Prevent ALIGN() overflow When allocating IOVA the candidate range gets aligned to the target alignment. If the range is close to ULONG_MAX then the ALIGN() can wrap resulting in a corrupted iova. Open code the ALIGN() using get_add_overflow() to prevent this. This simplifies the checks as we don't need to check for length earlier either. Consolidate the two copies of this code under a single helper. This bug would allow userspace to create a mapping that overlaps with some other mapping or a reserved range.
| Product | Vendor | Version |
|---|---|---|
| Linux | Linux | 7.0(3)I4(2) |
| Linux | Linux | <= 11.4.7 |
| Linux | Linux | SD765G |
| Linux | Linux | 10 Version 1709 for ARM64-based Systems |