VT-d: don't leak domid mapping on error path
authorJan Beulich <jbeulich@suse.com>
Thu, 6 Jan 2022 13:11:23 +0000 (14:11 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 6 Jan 2022 13:11:23 +0000 (14:11 +0100)
commit84977e8b53935de9a1123f677213f1b146843a0e
treef9c9a40176686576fa58fa25ffa05de4dfe6bcd9
parentfa45f6b5560e738955993fe061a04d64c6f71c14
VT-d: don't leak domid mapping on error path

While domain_context_mapping() invokes domain_context_unmap() in a sub-
case of handling DEV_TYPE_PCI when encountering an error, thus avoiding
a leak, individual calls to domain_context_mapping_one() aren't
similarly covered. Such a leak might persist until domain destruction.
Leverage that these cases can be recognized by pdev being non-NULL.

Fixes: dec403cc668f ("VT-d: fix iommu_domid for PCI/PCIx devices assignment")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
master commit: e6252a51faf42c892eb5fc71f8a2617580832196
master date: 2021-11-24 11:07:11 +0100
xen/drivers/passthrough/vtd/iommu.c