[Makedumpfile Patch 0/6] Fix --mem-usage /proc/kcore
ats-kumagai at wm.jp.nec.com
Mon Feb 13 00:28:32 PST 2017
>On Monday 13 February 2017 11:56 AM, Atsushi Kumagai wrote:
>> Hello Pratyush,
>>> `makedumpfile --mem-usage /proc/kcore` has been broken after kaslr specific
>>> modifications. I have proposed a kernel patch  which has been ACKed by
>>> Andrew Morton and is available in next-2017020 now. Hopefully, it should be
>>> part of upstream in v4.10 release. This kernel patch helps to fix this
>>> issue for both the case of kaslr enabled and disabled.
>>> To seek other's feedback, I am sending makedumpfile patches before kernel
>>> patch hits upstream.
>> Thanks for taking care of this feature.
>> I understand that the problem is:
>> - phys_base is necessary for VtoP, but:
>> - SYMBOL(phys_base) is unavailable since /proc/kcore doesn't export VMCOREINFO.
>> - get_phys_base() doesn't work well since current PT_LOAD doesn't have valid p_paddr.
>Yes, this is what the problem is.
>> The new makedumpfile with this patches can show unexpected behavior since it
>> will refer to invalid p_paddr(always 0). Of course, also current makedumpfile cannot
>> work if phys_base isn't 0.
>> If we don't have any way to get phys_base in 1st kernel environment,
>> I think we should disable this feature in older kernel (e.g. by checking kernel version).
>Hummm..I had thought that distros with old kernel will backport kernel
>patch and then can use this feature. If we disable it for older kernel,
>then they will not be able to do it.
>would it be fine if I cc kernel patch to stable mailing list? It seems
>that patch can be easily applied all older kernel.
Even if there are some "supported" older kernels, there is no guarantee
that all of the kernels provide valid p_paddr. So makedumpfile have to
know whether the target kernel supports --mem-usage or not in older kernel.
Is it possible to add a new stuff into PT_NOTE of /proc/kcore to signify the
kernel supports --mem-usage ? Otherwise, my only idea is --force option for
older kernel, expert user can use it if he is sure that the kernel has valid
More information about the kexec