>Hi Atsushi, > >On Thursday 02 March 2017 10:19 AM, Atsushi Kumagai wrote: >> Hello Pratyush, >> >>> 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 <panand at redhat.com> >>> --- >>> 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; >>> + } >> >> Should use "goto out" to prevent memory leaks since some heap blocks are >> allocated at the head of main(). > >OK > >> >> BTW, the descriptions of -f option in man and print_usage() don't mention this usage: >> >> -f Force existing DUMPFILE to be overwritten. >> Example: >> # makedumpfile -f -d 31 -x vmlinux /proc/vmcore dumpfile >> This command overwrites DUMPFILE even if it already exists. >> >> so they should be updated. > >Does following looks fine to you? looks good to me. I'll wait for the next version. Thanks, Atsushi Kumagai >$ makedumpfile --help | grep -A3 "\-f" > [-f]: > Overwrite DUMPFILE even if it already exists > Force mem-usage to work with older kernel as well. > > >$ man makedumpfile | grep -w "\-f " -A6 > -f Force existing DUMPFILE to be overwritten and mem-usage >to work with older kernel as well. > Example: > # makedumpfile -f -d 31 -x vmlinux /proc/vmcore dumpfile > This command overwrites DUMPFILE even if it already exists. > # makedumpfile -f --mem-usage /proc/kcore > Kernel version lesser than v4.11 will not work with >--mem-usage functionality until it has been patched with upstream commit > 464920104bf7. Therefore if you have patched your older >kernel then use -f. > >Thanks for the review. > >~Pratyush