From: yamamoto@valinux.co.jp (YAMAMOTO Takashi) It seems that procfs-task-exe-symlink.patch broke the case of dup_mmap failure. ie. mm->exe_file is copied by memcpy from oldmm and then be fput'ed by mmput/set_mm_exe_file. Signed-off-by: YAMAMOTO Takashi Acked-by: Matt Helsley Signed-off-by: Andrew Morton --- kernel/fork.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN kernel/fork.c~procfs-task-exe-symlink-fix-3 kernel/fork.c --- a/kernel/fork.c~procfs-task-exe-symlink-fix-3 +++ a/kernel/fork.c @@ -523,11 +523,12 @@ static struct mm_struct *dup_mm(struct t if (init_new_context(tsk, mm)) goto fail_nocontext; + dup_mm_exe_file(oldmm, mm); + err = dup_mmap(mm, oldmm); if (err) goto free_pt; - dup_mm_exe_file(oldmm, mm); mm->hiwater_rss = get_mm_rss(mm); mm->hiwater_vm = mm->total_vm; _