/proc/vmcore mmap() failure issue

Vivek Goyal vgoyal at redhat.com
Mon Nov 25 09:41:50 EST 2013


On Mon, Nov 25, 2013 at 06:01:37PM +0900, HATAYAMA Daisuke wrote:

[..]
> > I agree to avoid this issue by fixing makedumpfile as workaround while to
> > fix kernel is so tough and risky. However, it sounds strange to me to fix
> > userspace side elaborately for such definite kernel issue whose cause is
> > known, so we should fix the kernel itself.
> > 
> 
> > Otherwise, will you continue to add specific fixes into user tools to
> > address kernel issues like this case ?
> > 
> 
> makedumpfile supports a wide range of kernel versions and needs to satisfy
> backward compatibility. mmap() on /proc/vmcore might be backported to some of
> the old versions on some distributions if necessary. Then, it's hard to fix
> each old kernel at each back port. The method that can be applied to all the
> kernels in general, is necessary.
> 
> Also, looking at ia64 case where there's boot loader data on partial pages,
> there could be other environments where partial pages contain other important
> data other components have. So, the issue depends not only on kernels but also
> other components such as boot loader and firmwares that can put data on
> partial pages. We need to get there as long as there's important data there
> and we have access to there.

Hi Atsushi, Hatayama,

So even if we fix the mmap() issue in kernel, looks like it will be a
good idea to ship the fix in makedumpfile as there have been a kernel
release where mmap() will cause issues.

Having said that, I think we need to fix it in kernel also. I was not sure
that what's the right fix. Should we truncate partial pages or should
we just copy partial pages from old memory to new kernel's memory and fill
partial page with zeros. And that's why I was hoping that makedumpfile
can fill the gap.

Copying partial pages to new memory seems like a safer approach. So may
be we can take a fix in makeudmpfile and another in kernel.

Hatayama, I know that in the past your initial mmap() patches were copying
partial pages to new kernel's memory. Would you like to resurrect that
patch again?

Thanks
Vivek



More information about the kexec mailing list