[PATCH v7 13/17] mm/debug: print vm_refcnt state when dumping the vma

Suren Baghdasaryan
2024-12-26T17:07:49Z

vm_refcnt encodes a number of useful states:
- whether vma is attached or detached
- the number of current vma readers
- presence of a vma writer
Let's include it in the vma dump.

Signed-off-by: Suren Baghdasaryan <surenb@google.com>
---
mm/debug.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/mm/debug.c b/mm/debug.c
index 95b6ab809c0e..68b3ba3cf603 100644
--- a/mm/debug.c
+++ b/mm/debug.c
@@ -181,12 +181,12 @@ void dump_vma(const struct vm_area_struct *vma)
pr_emerg("vma %px start %px end %px mm %px\n"
"prot %lx anon_vma %px vm_ops %px\n"
"pgoff %lx file %px private_data %px\n"
- "flags: %#lx(%pGv)\n",
+ "flags: %#lx(%pGv) refcnt %x\n",
vma, (void *)vma->vm_start, (void *)vma->vm_end, vma->vm_mm,
(unsigned long)pgprot_val(vma->vm_page_prot),
vma->anon_vma, vma->vm_ops, vma->vm_pgoff,
vma->vm_file, vma->vm_private_data,
- vma->vm_flags, &vma->vm_flags);
+ vma->vm_flags, &vma->vm_flags, refcount_read(&vma->vm_refcnt));
}
EXPORT_SYMBOL(dump_vma);

--
2.47.1.613.gc27f4b7a9f-goog