driver mmap()'ed vma in process coredump

From: Kartikeyan Sadasivuni
Date: Wed Oct 18 2017 - 14:56:20 EST


I have a process which does mmap into a kernel driver to map DMA
packet memory into user space.
When the process crashes want this memory to be part of coredump for
post crash analysis.

As well documented VM_IO flag for this vma prevents it.
Is always_dump_vma() calling vma->vm_ops "name" function pointer
return non-NULL a workaround/solution ?

When trying this by setting vma->vm_ops name function pointer
returning non-NULL,
VMA is filled with all zeroes in coredump because get_dump_page() is
returning NULL for VM_IO flag set vmas.

Previously saw a thread w.r.t framebuffer device having similar requirement,
but I see VM_ALWAYSDUMP added and removed from linux kernel.
What is the current way to achieve this functionality if at all its possible ?


Kartikeyan