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

Zhang Yanfei
2013-05-25T08:32:31Z

于 2013年05月25日 11:01, Eric W. Biederman 写道:
> Zhang Yanfei <zhangyanfei.yes@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.

Thanks
Zhang