Re: [PATCH] kexec: Export memory sections virtual addresses to vmcoreinfo

From: Pratyush Anand
Date: Wed Oct 12 2016 - 05:10:04 EST




On Wednesday 12 October 2016 05:56 AM, Baoquan He wrote:
PAGE_OFFSET can be get via vaddr - paddr from elf pt_loads so only
> VMALLOC_BASE and VMEMMAP_BASE is necessary..
Well, yes, I was wrong. I wrongly thought of kernel text virtual address
when I wrote the reply

So, if you can get PAGE_OFFSET then, probably you do not need to know anything else.

I think, we can simplify makedumpfile code, where we do not need to depend on VMALLOC_START or VMEMMAP_START etc.

"If we know PAGE_OFFSET, we can read from swapper space. If we can read from swapper space, then we can know PA of any kernel VA, whether it is VMALLOC, or vmemmap or module or kernel text area."


In fact, I have cleanup patches for ARM64 [1], which take above approach and get rid of need of VMALLOC_START or VMEMMAP_START etc. I will be sending them upstream soon.

Probably, x86 can take the similar approach.

~Pratyush

[1] https://github.com/pratyushanand/makedumpfile/blob/arm64_devel/arch/arm64.c#L228