Subject: [merged] procfs-call-default-get_unmapped_area-on-mmu-present-architectures.patch removed from -mm tree To: d.hatayama@xxxxxxxxxxxxxx,adobriyan@xxxxxxxxx,davem@xxxxxxxxxxxxx,holzheu@xxxxxxxxxxxxxxxxxx,mm-commits@xxxxxxxxxxxxxxx From: akpm@xxxxxxxxxxxxxxxxxxxx Date: Thu, 17 Oct 2013 11:13:27 -0700 The patch titled Subject: procfs: call default get_unmapped_area on MMU-present architectures has been removed from the -mm tree. Its filename was procfs-call-default-get_unmapped_area-on-mmu-present-architectures.patch This patch was dropped because it was merged into mainline or a subsystem tree ------------------------------------------------------ From: HATAYAMA Daisuke <d.hatayama@xxxxxxxxxxxxxx> Subject: procfs: call default get_unmapped_area on MMU-present architectures c4fe24485729f ("sparc: fix PCI device proc file mmap(2)") added proc_reg_get_unmapped_area in proc_reg_file_ops and proc_reg_file_ops_no_compat, by which now mmap always returns EIO if get_unmapped_area method is not defined for the target procfs file, which causes regression of mmap on /proc/vmcore. To address this issue, like get_unmapped_area(), call default current->mm->get_unmapped_area on MMU-present architectures if pde->proc_fops->get_unmapped_area, i.e. the one in actual file operation in the procfs file, is not defined. Reported-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: HATAYAMA Daisuke <d.hatayama@xxxxxxxxxxxxxx> Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Tested-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- fs/proc/inode.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff -puN fs/proc/inode.c~procfs-call-default-get_unmapped_area-on-mmu-present-architectures fs/proc/inode.c --- a/fs/proc/inode.c~procfs-call-default-get_unmapped_area-on-mmu-present-architectures +++ a/fs/proc/inode.c @@ -289,9 +289,13 @@ static unsigned long proc_reg_get_unmapp { struct proc_dir_entry *pde = PDE(file_inode(file)); unsigned long rv = -EIO; - unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); + unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long) = NULL; if (use_pde(pde)) { - get_unmapped_area = pde->proc_fops->get_unmapped_area; +#ifdef CONFIG_MMU + get_unmapped_area = current->mm->get_unmapped_area; +#endif + if (pde->proc_fops->get_unmapped_area) + get_unmapped_area = pde->proc_fops->get_unmapped_area; if (get_unmapped_area) rv = get_unmapped_area(file, orig_addr, len, pgoff, flags); unuse_pde(pde); _ Patches currently in -mm which might be from d.hatayama@xxxxxxxxxxxxxx are origin.patch procfs-clean-up-proc_reg_get_unmapped_area-for-80-column-limit.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html