The following error comes up because, in v4.6, _count, a member of struct
page, has been renamed to _refcount. (commit 0139aa7b7fa1:"mm: rename
_count, field of the struct page, to _refcount)
This patch addresses this problem.
crash> kmem ffff80000000000000
kmem: input string too large: "ffff80000000000000" (18 vs 16)
crash> kmem ffff800000000000
ZONE NAME SIZE FREE MEM_MAP START_PADDR START_MAPNR
0 DMA 9216 2179 ffff7fe000000000 80000000 0
AREA SIZE FREE_AREA_STRUCT
3 512k ffff000008cd7a38
ffff7fe000000000 (ffff800000000000 is 1st of 8 pages)
kmem: invalid structure member offset: page_count
FILE: memory.c LINE: 5503 FUNCTION: dump_mem_map_SPARSEMEM()
Signed-off-by: AKASHI Takahiro <takahiro.akashi(a)linaro.org>
---
memory.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/memory.c b/memory.c
index 216038d..6ad0816 100644
--- a/memory.c
+++ b/memory.c
@@ -432,8 +432,12 @@ vm_init(void)
MEMBER_OFFSET_INIT(page_count, "page", "count");
if (INVALID_MEMBER(page_count)) {
MEMBER_OFFSET_INIT(page_count, "page", "_count");
- if (INVALID_MEMBER(page_count))
+ if (INVALID_MEMBER(page_count)) {
ANON_MEMBER_OFFSET_INIT(page_count, "page", "_count");
+ if (INVALID_MEMBER(page_count))
+ ANON_MEMBER_OFFSET_INIT(page_count, "page",
+ "_refcount");
+ }
}
MEMBER_OFFSET_INIT(page_flags, "page", "flags");
MEMBER_SIZE_INIT(page_flags, "page", "flags");
--
2.8.1