mm: Make mem_dump_obj() handle NULL and zero-sized pointers
authorPaul E. McKenney <paulmck@kernel.org>
Tue, 8 Dec 2020 23:26:22 +0000 (15:26 -0800)
committerPaul E. McKenney <paulmck@kernel.org>
Fri, 22 Jan 2021 23:23:57 +0000 (15:23 -0800)
This commit makes mem_dump_obj() call out NULL and zero-sized pointers
specially instead of classifying them as non-paged memory.

Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: <linux-mm@kvack.org>
Reported-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Tested-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
mm/util.c

index da46f9d6c3826bedcfe8f8c34935ee5d0f74d4f1..92f23d2c127701f54dabd48972de29b4451fbc46 100644 (file)
--- a/mm/util.c
+++ b/mm/util.c
@@ -997,7 +997,12 @@ int __weak memcmp_pages(struct page *page1, struct page *page2)
 void mem_dump_obj(void *object)
 {
        if (!virt_addr_valid(object)) {
-               pr_cont(" non-paged (local) memory.\n");
+               if (object == NULL)
+                       pr_cont(" NULL pointer.\n");
+               else if (object == ZERO_SIZE_PTR)
+                       pr_cont(" zero-size pointer.\n");
+               else
+                       pr_cont(" non-paged (local) memory.\n");
                return;
        }
        if (kmem_valid_obj(object)) {