mmap for /proc/vmcore broken since 3.12-rc1
HATAYAMA Daisuke
d.hatayama at jp.fujitsu.com
Wed Oct 9 06:14:55 EDT 2013
Hello,
(2013/10/08 21:49), Alexey Dobriyan wrote:
> On Mon, Oct 7, 2013 at 5:42 AM, HATAYAMA Daisuke
> <d.hatayama at jp.fujitsu.com> wrote:
>
>> +static unsigned long
>> +get_unmapped_area_vmcore(struct file *filp, unsigned long addr,
>> + unsigned long len, unsigned long pgoff,
>> + unsigned long flags)
>> +{
>> +#ifdef CONFIG_MMU
>> + return current->mm->get_unmapped_area(filp, addr, len, pgoff,
>> flags);
>> +#else
>> + return -EIO;
>> +#endif
>> +}
>> +
>> static const struct file_operations proc_vmcore_operations = {
>> .read = read_vmcore,
>> .llseek = default_llseek,
>> .mmap = mmap_vmcore,
>> + .get_unmapped_area = get_unmapped_area_vmcore,
>
> I think current->mm->get_unmapped_area should be used by core proc code.
What do you actually suggest here? You mean moving this code in proc code?
I don't think you suggest so.
> ENOMEM bug looks unrelated though.
>
Next step I'll do is to look into vm_unmapped_region() that looks for
for a region fit to a given mmap request and returns its address.
In particular, I'll focus on when vm_unmapped_region() could return
kernel-space address.
--
Thanks.
HATAYAMA, Daisuke
More information about the kexec
mailing list