[PATCH 0/2] kdump/mmap: Fix mmap of /proc/vmcore for s390

Eric W. Biederman ebiederm at xmission.com
Sat May 25 16:36:09 EDT 2013

Zhang Yanfei <zhangyanfei.yes at gmail.com> writes:

> 于 2013年05月25日 11:01, Eric W. Biederman 写道:
>> Zhang Yanfei <zhangyanfei.yes at gmail.com> writes:
>>> Hello Eric,
>>>> The function copy_oldmem_page also concerns me.  I don't have a clue why
>>>> we duplicate that function on every architecutre in a slightly different
>>>> form.  There should be enough abstractions in the kernel to make that
>>>> unnecessary.  I would be glad to see that function go, and remove the
>>>> possibility of confusion that happened on s390.
>>> You mean we should have a common copy_oldmem_page for all architectures? And
>>> just like vivek said above, for s390, we should put the swap info in the elf
>>> headers instead of doing that in copy_oldmem_page.
>> Exactly.
>> The user space change in /sbin/kexec should even be backwards compatible
>> for s390.  So fixing /sbin/kexec should probably come first.
> I am kind of not sure about the "backwards compatible for s390" you meant.
> For s390, if we put swap info into the elf header, This will change /sbin/kexec.
> But at this point, copy_oldmem_page is still doing the swap when we try to read
> the pages among [0 - OLDMEM_SIZE] and [OLDMEM_BASE - OLDMEM_BASE + OLDMEM_SIZE].
> So removing the swap in copy_oldmem_page should be done at the same time.
> New kexec with old kernels would fail and old kexec with new kernels would fail too.
> So could you please explain more about the ""backwards compatible". And please
> correct me if I am wrong.

It looks like my misreading of things.  I was not expecting the existing
copy_oldmem_page to do a complete swap of addresses.  I was expecting
something like the result obtained by doing a header swap with the ELF
headers where part of the address was translated and the rest was simply
not mentioned.

But from other replies it appears there isn't a problem.


More information about the kexec mailing list