mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 06:02:05 +00:00
iommu/vt-d: Remove BUG_ON on checking valid pfn range
When encountering an unexpected invalid pfn range, the kernel should attempt recovery and proceed with execution. Therefore, using WARN_ON to replace BUG_ON to avoid halting the machine. Besides, one redundant checking is reduced. Signed-off-by: Tina Zhang <tina.zhang@intel.com> Link: https://lore.kernel.org/r/20230406065944.2773296-3-tina.zhang@intel.com Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
b31064f881
commit
35dc5d8998
@ -1005,9 +1005,9 @@ static void dma_pte_clear_range(struct dmar_domain *domain,
|
|||||||
unsigned int large_page;
|
unsigned int large_page;
|
||||||
struct dma_pte *first_pte, *pte;
|
struct dma_pte *first_pte, *pte;
|
||||||
|
|
||||||
BUG_ON(!domain_pfn_supported(domain, start_pfn));
|
if (WARN_ON(!domain_pfn_supported(domain, last_pfn)) ||
|
||||||
BUG_ON(!domain_pfn_supported(domain, last_pfn));
|
WARN_ON(start_pfn > last_pfn))
|
||||||
BUG_ON(start_pfn > last_pfn);
|
return;
|
||||||
|
|
||||||
/* we don't need lock here; nobody else touches the iova range */
|
/* we don't need lock here; nobody else touches the iova range */
|
||||||
do {
|
do {
|
||||||
@ -1166,9 +1166,9 @@ next:
|
|||||||
static void domain_unmap(struct dmar_domain *domain, unsigned long start_pfn,
|
static void domain_unmap(struct dmar_domain *domain, unsigned long start_pfn,
|
||||||
unsigned long last_pfn, struct list_head *freelist)
|
unsigned long last_pfn, struct list_head *freelist)
|
||||||
{
|
{
|
||||||
BUG_ON(!domain_pfn_supported(domain, start_pfn));
|
if (WARN_ON(!domain_pfn_supported(domain, last_pfn)) ||
|
||||||
BUG_ON(!domain_pfn_supported(domain, last_pfn));
|
WARN_ON(start_pfn > last_pfn))
|
||||||
BUG_ON(start_pfn > last_pfn);
|
return;
|
||||||
|
|
||||||
/* we don't need lock here; nobody else touches the iova range */
|
/* we don't need lock here; nobody else touches the iova range */
|
||||||
dma_pte_clear_level(domain, agaw_to_level(domain->agaw),
|
dma_pte_clear_level(domain, agaw_to_level(domain->agaw),
|
||||||
|
Loading…
Reference in New Issue
Block a user