Re: [PATCH v8 9/9] vmcore: support mmap() on /proc/vmcore

From: Zhang Yanfei
Date: Thu May 30 2013 - 05:29:51 EST


On 05/30/2013 05:14 PM, Maxim Uvarov wrote:
>
>
>
> 2013/5/27 HATAYAMA Daisuke <d.hatayama@xxxxxxxxxxxxxx <mailto:d.hatayama@xxxxxxxxxxxxxx>>
>
> (2013/05/24 18:02), Maxim Uvarov wrote:
>
>
>
>
> 2013/5/24 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx <mailto:akpm@xxxxxxxxxxxxxxxxxxxx> <mailto:akpm@xxxxxxxxxxxxxxxxxxxxxx <mailto:akpm@xxxxxxxxxxxxxxxxxxxx>>>
>
>
> On Thu, 23 May 2013 14:25:48 +0900 HATAYAMA Daisuke <d.hatayama@xxxxxxxxxxxxxx <mailto:d.hatayama@xxxxxxxxxxxxxx> <mailto:d.hatayama@xxxxxxxxxxxxxxxx <mailto:d.hatayama@xxxxxxxxxxxxxx>>> wrote:
>
> > This patch introduces mmap_vmcore().
> >
> > Don't permit writable nor executable mapping even with mprotect()
> > because this mmap() is aimed at reading crash dump memory.
> > Non-writable mapping is also requirement of remap_pfn_range() when
> > mapping linear pages on non-consecutive physical pages; see
> > is_cow_mapping().
> >
> > Set VM_MIXEDMAP flag to remap memory by remap_pfn_range and by
> > remap_vmalloc_range_pertial at the same time for a single
> > vma. do_munmap() can correctly clean partially remapped vma with two
> > functions in abnormal case. See zap_pte_range(), vm_normal_page() and
> > their comments for details.
> >
> > On x86-32 PAE kernels, mmap() supports at most 16TB memory only. This
> > limitation comes from the fact that the third argument of
> > remap_pfn_range(), pfn, is of 32-bit length on x86-32: unsigned long.
>
> More reviewing and testing, please.
>
>
> Do you have git pull for both kernel and userland changes? I would like to do some more testing on my machines.
>
> Maxim.
>
>
> Thanks! That's very helpful.
>
> --
> Thanks.
> HATAYAMA, Daisuke
>
> Any update for this? Where can I checkout all sources?

This series is now in Andrew Morton's -mm tree.

--
Thanks.
Zhang Yanfei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/