Let's print a warning similar to in arch_add_linear_mapping() instead of
WARN_ON_ONCE() and eventually crashing the kernel.

Reviewed-by: Oscar Salvador <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Rashmica Gupta <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Mike Rapoport <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Oscar Salvador <[email protected]>
Cc: Wei Yang <[email protected]>
Signed-off-by: David Hildenbrand <[email protected]>
---
 arch/powerpc/mm/mem.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index ca5c4b54c366..c5755b9efb64 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -150,7 +150,9 @@ void __ref arch_remove_linear_mapping(u64 start, u64 size)
        mutex_lock(&linear_mapping_mutex);
        ret = remove_section_mapping(start, start + size);
        mutex_unlock(&linear_mapping_mutex);
-       WARN_ON_ONCE(ret);
+       if (ret)
+               pr_warn("Unable to remove linear mapping for 0x%llx..0x%llx: 
%d\n",
+                       start, start + size, ret);
 
        /* Ensure all vmalloc mappings are flushed in case they also
         * hit that section of memory
-- 
2.26.2

Reply via email to