[PATCH 2/2] mm: vmalloc: Replace BUG_ON() by WARN_ON_ONCE()

From: Uladzislau Rezki (Sony)
Date: Tue Dec 20 2022 - 13:27:22 EST


Currently a vm_unmap_ram() functions triggers a BUG() if an area
is not found. Replace it by the WARN_ON_ONCE() error message and
keep machine alive instead of stopping it.

The worst case is a memory leaking.

Signed-off-by: Uladzislau Rezki (Sony) <urezki@xxxxxxxxx>
---
mm/vmalloc.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 0fc38c36e0df..e05a0dc79ac5 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -2255,10 +2255,12 @@ void vm_unmap_ram(const void *mem, unsigned int count)
}

va = find_unlink_vmap_area(addr);
- BUG_ON(!va);
- debug_check_no_locks_freed((void *)va->va_start,
- (va->va_end - va->va_start));
- free_unmap_vmap_area(va);
+
+ if (!WARN_ON_ONCE(!va)) {
+ debug_check_no_locks_freed((void *)va->va_start,
+ (va->va_end - va->va_start));
+ free_unmap_vmap_area(va);
+ }
}
EXPORT_SYMBOL(vm_unmap_ram);

--
2.30.2