mirror of
https://github.com/torvalds/linux.git
synced 2026-10-16 12:50:02 +02:00
arm64/mm: Replace BUG_ON() with VM_WARN_ON_ONCE()
Avoid BUG_ON() while checking for inconsistent page table state conditions and instead replace them with VM_WARN_ON_ONCE(). Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: David Hildenbrand <david@kernel.org> Cc: linux-kernel@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Acked-by: David Hildenbrand (Arm) <david@kernel.org> Suggested-by: David Hildenbrand (Arm) <david@kernel.org> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com> Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
parent
254f49634e
commit
13d0fdc090
|
|
@ -1007,7 +1007,7 @@ static inline pud_t *p4d_pgtable(p4d_t p4d)
|
|||
|
||||
static inline phys_addr_t pud_offset_phys(p4d_t *p4dp, unsigned long addr)
|
||||
{
|
||||
BUG_ON(!pgtable_l4_enabled());
|
||||
VM_WARN_ON_ONCE(!pgtable_l4_enabled());
|
||||
|
||||
return p4d_page_paddr(READ_ONCE(*p4dp)) + pud_index(addr) * sizeof(pud_t);
|
||||
}
|
||||
|
|
@ -1130,7 +1130,7 @@ static inline p4d_t *pgd_to_folded_p4d(pgd_t *pgdp, unsigned long addr)
|
|||
|
||||
static inline phys_addr_t p4d_offset_phys(pgd_t *pgdp, unsigned long addr)
|
||||
{
|
||||
BUG_ON(!pgtable_l5_enabled());
|
||||
VM_WARN_ON_ONCE(!pgtable_l5_enabled());
|
||||
|
||||
return pgd_page_paddr(READ_ONCE(*pgdp)) + p4d_index(addr) * sizeof(p4d_t);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -273,8 +273,8 @@ static int init_pmd(pmd_t *pmdp, unsigned long addr, unsigned long end,
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
BUG_ON(pmd_val(old_pmd) != 0 &&
|
||||
pmd_val(old_pmd) != READ_ONCE(pmd_val(*pmdp)));
|
||||
VM_WARN_ON_ONCE(pmd_val(old_pmd) != 0 &&
|
||||
pmd_val(old_pmd) != READ_ONCE(pmd_val(*pmdp)));
|
||||
}
|
||||
phys += next - addr;
|
||||
} while (pmdp++, addr = next, addr != end);
|
||||
|
|
@ -394,8 +394,8 @@ static int alloc_init_pud(p4d_t *p4dp, unsigned long addr, unsigned long end,
|
|||
if (ret)
|
||||
goto out;
|
||||
|
||||
BUG_ON(pud_val(old_pud) != 0 &&
|
||||
pud_val(old_pud) != READ_ONCE(pud_val(*pudp)));
|
||||
VM_WARN_ON_ONCE(pud_val(old_pud) != 0 &&
|
||||
pud_val(old_pud) != READ_ONCE(pud_val(*pudp)));
|
||||
}
|
||||
phys += next - addr;
|
||||
} while (pudp++, addr = next, addr != end);
|
||||
|
|
@ -445,8 +445,8 @@ static int alloc_init_p4d(pgd_t *pgdp, unsigned long addr, unsigned long end,
|
|||
if (ret)
|
||||
goto out;
|
||||
|
||||
BUG_ON(p4d_val(old_p4d) != 0 &&
|
||||
p4d_val(old_p4d) != READ_ONCE(p4d_val(*p4dp)));
|
||||
VM_WARN_ON_ONCE(p4d_val(old_p4d) != 0 &&
|
||||
p4d_val(old_p4d) != READ_ONCE(p4d_val(*p4dp)));
|
||||
|
||||
phys += next - addr;
|
||||
} while (p4dp++, addr = next, addr != end);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user