vmcore cant be generated under kernel 4.7.9

R Sun ulxwork at gmail.com
Fri Nov 11 19:02:57 PST 2016


Hello,

I updated my fedora23 from 4.5.7-202 to 4.7.9-100 recently, and found out kdump
could not generate vmcore when crashed, but its ok with
vmcore-dmesg.txt. i traced
it for a while and find out its because of a change in the page struct
which _count renamed to _refcount committed as 0139aa7b7f in kernel.

Below is my patch to fix this problem

diff --git a/makedumpfile.c b/makedumpfile.c
index 853b999..1bfafb7 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -2492,6 +2492,13 @@ read_vmcoreinfo(void)

        READ_MEMBER_OFFSET("page.flags", page.flags);
        READ_MEMBER_OFFSET("page._count", page._count);
+       /*
+        * _count, field of struct page, renamed to _refcount according to
+        * commit 0139aa7b7f in kernel. so just try page._refcount if
+        * page._count does not work
+        */
+       if (OFFSET(page._count) == NOT_FOUND_STRUCTURE)
+               READ_MEMBER_OFFSET("page._refcount", page._count);
        READ_MEMBER_OFFSET("page.mapping", page.mapping);
        READ_MEMBER_OFFSET("page.lru", page.lru);
        READ_MEMBER_OFFSET("page._mapcount", page._mapcount);



More information about the kexec mailing list