diff options
| author | Hemanth Selam <hemanth.selam@gmail.com> | 2026-08-25 15:35:54 +0530 |
|---|---|---|
| committer | Joerg Roedel <joerg.roedel@amd.com> | 2026-09-07 15:03:01 +0200 |
| commit | fa5c0827f0b7bac6d0a188f10118151769ae68fd (patch) | |
| tree | 782f19a25d0c0b39aebce88610f634a74488be0e /scripts/Makefile.thinlto | |
| parent | eb29b7bbc8ba28bbb0b9fdd655e931e1d1fa625c (diff) | |
| download | linux-fa5c0827f0b7bac6d0a188f10118151769ae68fd.tar.gz linux-fa5c0827f0b7bac6d0a188f10118151769ae68fd.zip | |
iommu/amd: Fix ineffective error check in nested domain allocation
amd_iommu_pdom_id_alloc() returns an int: a domain ID on success, or the
negative errno from ida_alloc_range() when the ID space is exhausted or
memory is short. amd_iommu_alloc_domain_nested() stores that return value
in gdom_info->hdom_id, which is a u32, and only then tests it:
gdom_info->hdom_id = amd_iommu_pdom_id_alloc();
if (gdom_info->hdom_id <= 0) {
The assignment discards the sign, so -ENOSPC becomes 0xffffffe4 and the
test never fires. The nested domain is then set up with a host domain ID
that was never allocated, instead of the allocation failing with -ENOSPC.
Keep the value in an int, test it there, and store it only once it is
known to be valid, which is what the other amd_iommu_pdom_id_alloc()
callers already do.
Fixes: 757d2b1fdf5b ("iommu/amd: Introduce gDomID-to-hDomID Mapping and handle parent domain invalidation")
Signed-off-by: Hemanth Selam <hemanth.selam@gmail.com>
Reviewed-by: Vasant Hegde <vasant.hegde@amd.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
