OSDN Git Service

iommu/amd: Add missing domain type checks
authorJason Gunthorpe <jgg@nvidia.com>
Tue, 25 Apr 2023 19:04:15 +0000 (16:04 -0300)
committerJoerg Roedel <jroedel@suse.de>
Mon, 22 May 2023 15:26:45 +0000 (17:26 +0200)
commit29f54745f24547a84b18582e054df9bea1a7bf3e
treeb72dcff6f5a9ac5c889601edaed49c17914e289d
parent8ec4e2befef10c7679cd59251956a428e783c0b5
iommu/amd: Add missing domain type checks

Drivers are supposed to list the domain types they support in their
domain_alloc() ops so when we add new domain types, like BLOCKING or SVA,
they don't start breaking.

This ended up providing an empty UNMANAGED domain when the core code asked
for a BLOCKING domain, which happens to be the fallback for drivers that
don't support it, but this is completely wrong for SVA.

Check for the DMA types AMD supports and reject every other kind.

Fixes: 136467962e49 ("iommu: Add IOMMU SVA domain support")
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Vasant Hegde <vasant.hegde@amd.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/0-v1-2ac37b893728+da-amd_check_types_jgg@nvidia.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd/iommu.c