PT_LOAD of kcore does not have valid p_paddr values for kernel version
less that v4.11. Therefore, older kernel will no long work for mem-usage
with current makedumpfile code. They can only work when they are patched
with fix to "update physical address for kcore ram and text".

This patch fixes the makedumpfile so that it does not allow to work
older kernel for --mem-usage until someone is sure that kernel is
rightly patched and so uses -f in command line.

Signed-off-by: Pratyush Anand <[email protected]>
---
 makedumpfile.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/makedumpfile.c b/makedumpfile.c
index 3b8e9810468d..bf006ea5dd5f 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -11269,6 +11269,12 @@ main(int argc, char *argv[])
                        MSG("Try `makedumpfile --help' for more 
information.\n");
                        goto out;
                }
+               if (info->kernel_version < KERNEL_VERSION(4, 11, 0) &&
+                               !info->flag_force) {
+                       MSG("mem-usage not supported for this kernel.\n");
+                       MSG("You can try with -f if your kernel's kcore has 
valid p_paddr\n");
+                       return COMPLETED;
+               }
 
                if (!show_mem_usage())
                        goto out;
-- 
2.9.3


_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to