Commit 3f13f727 authored by Yanfei Xu's avatar Yanfei Xu Committed by Joerg Roedel
Browse files

iommu/vt-d: Remove two WARN_ON in domain_context_mapping_one()



Remove the WARN_ON(did == 0) as the domain id 0 is reserved and
set once the domain_ids is allocated. So iommu_init_domains will
never return 0.

Remove the WARN_ON(!table) as this pointer will be accessed in
the following code, if empty "table" really happens, the kernel
will report a NULL pointer reference warning at the first place.

Signed-off-by: default avatarYanfei Xu <yanfei.xu@intel.com>
Link: https://lore.kernel.org/r/20230605112659.308981-3-yanfei.xu@intel.com


Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent a0e9911a
Loading
Loading
Loading
Loading
+0 −4
Original line number Original line Diff line number Diff line
@@ -1897,8 +1897,6 @@ static int domain_context_mapping_one(struct dmar_domain *domain,
	struct context_entry *context;
	struct context_entry *context;
	int ret;
	int ret;


	WARN_ON(did == 0);

	if (hw_pass_through && domain_type_is_si(domain))
	if (hw_pass_through && domain_type_is_si(domain))
		translation = CONTEXT_TT_PASS_THROUGH;
		translation = CONTEXT_TT_PASS_THROUGH;


@@ -1944,8 +1942,6 @@ static int domain_context_mapping_one(struct dmar_domain *domain,
	if (sm_supported(iommu)) {
	if (sm_supported(iommu)) {
		unsigned long pds;
		unsigned long pds;


		WARN_ON(!table);

		/* Setup the PASID DIR pointer: */
		/* Setup the PASID DIR pointer: */
		pds = context_get_sm_pds(table);
		pds = context_get_sm_pds(table);
		context->lo = (u64)virt_to_phys(table->table) |
		context->lo = (u64)virt_to_phys(table->table) |